цикл по строкам с заголовком столбца - PullRequest
1 голос
/ 15 июня 2019

Я хочу получить общую прибыль в столбце 2 файла CSV: 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)

I, кроме общего количества столбца 2

Ответы [ 3 ]

0 голосов
/ 15 июня 2019

Я бы тебе библиотеку Панд для таких задач.Вы можете установить с 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.Что мы делаем, это читаем файл во фрейм данных и устанавливаем правильный тип данных, чтобы мы могли использовать сумму.Ознакомьтесь с документацией Pandas для более удивительных вещей, которые вы можете сделать.

0 голосов
/ 18 июля 2019

Использование открытых файлов CSV не является хорошим способом сделать это.Используйте библиотеку панд следующим образом:

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

totalAmount = dataframe['Profit/Losses'].sum()
0 голосов
/ 15 июня 2019

Используйте панд для более совершенных манипуляций

Установите панд

$ pip install pandas

Код

import pandas as pd
df = pd.read_csv("./pybank.csv")
profit = df['Profit/Losses'].sum()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...