簡體   English   中英

遍歷帶有列標題的行

[英]looping through rows with a column title

我想在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欄的總額以外

使用大熊貓進行更好的操控

安裝熊貓

$ pip install pandas

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

我希望您在Pandas庫中完成這些任務。 您可以使用pip install 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文檔,了解更多您可以做的事情。

使用csv打開文件不是一個好方法。 通過以下方式使用pandas庫:

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM