使用列ti循环行

2024-09-30 10:42:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在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)

除第2栏的总额外


Tags: 文件csviffilewriterrowprint利润
3条回答

我希望你能胜任这样的工作。您可以使用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。查看熊猫文档,了解您可以做的更多精彩的事情

使用熊猫进行更好的操作

安装熊猫

$ pip install pandas

代码

import pandas as pd
df = pd.read_csv("./pybank.csv")
profit = df['Profit/Losses'].sum()

使用csv打开文件不是一个好方法。 使用熊猫库的方法如下:

import pandas as pd 
dataframe = pd.read_csv("./pybank.csv")

totalAmount = dataframe['Profit/Losses'].sum()

相关问题 更多 >

    热门问题