我想在csv文件的第2列中获得总利润:Date Profit/Losses Jan-10 867884 Feb-10 984655 Mar-10 322013 Apr-10 -69417 May-10 310503 Jun-10 522857 Jul-10 1033096 Aug-10 604885 Sep-10 -216386 ... ...
我尝试创建一个if语句,即if row then PositiveCounter将存储正值,而NegativeCounter将存储负值,然后获取总数。
file = "./pybank.csv"
with open(file,"r",newline="") as datafile:
writer = csv.reader(datafile)
# writer.writerow(["Columna 1", "Columna 2", "Columna 3"])
# writer.writerow(zipped)
#variables
numMonths = 0
totalAmountPositive = 0
totalAmountNegative = 0
for row in writer:
if row[0]:
numMonths += 1
if row[1]:
if row[1] >= 0:
totalAmountPositive = totalAmountPositive + row[1]
else:
totalAmountNegative = totalAmountNegative + row[1]
totalAmount = totalAmountPositive + totalAmountNegative
print(numMonths)
print(totalAmount)I除第2栏的总金额外
发布于 2019-06-15 13:15:22
使用pandas进行更好的操作
安装pandas
$ pip install pandas代码
import pandas as pd
df = pd.read_csv("./pybank.csv")
profit = df['Profit/Losses'].sum()发布于 2019-06-15 13:29:31
我希望你使用Pandas库来完成这样的任务。您可以使用pip install pandas进行安装。
import pandas as pd
df = pd.read_csv('./pybank.csv', sep='\t', dtype={'Profit\Loses': int64})
sum_profit = df['Profit\Loses'].sum()
print(sum_profit)当涉及到sep时,您的文件看起来像是用制表符分隔的,但它可以是空格,因此将\t更改为\s。我们正在做的是读取文件到数据帧,并设置正确的数据类型,以便我们可以使用sum。查看Pandas文档,了解你可以做的更棒的事情。
发布于 2019-07-19 00:26:08
使用csv打开文件不是一个好方法。通过以下方式使用pandas库:
import pandas as pd
dataframe = pd.read_csv("./pybank.csv")
totalAmount = dataframe['Profit/Losses'].sum()https://stackoverflow.com/questions/56607529
复制相似问题