我想在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语句,如果行,那么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)
我除了第2列的总数
答案 0 :(得分:0)
使用熊猫进行更好的操作
安装熊猫
$ pip install pandas
代码
import pandas as pd
df = pd.read_csv("./pybank.csv")
profit = df['Profit/Losses'].sum()
答案 1 :(得分:0)
我希望您在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文档,了解更多您可以做的事情。
答案 2 :(得分:0)
使用csv打开文件不是一个好方法。 通过以下方式使用pandas库:
import pandas as pd
dataframe = pd.read_csv("./pybank.csv")
totalAmount = dataframe['Profit/Losses'].sum()