首页 > 解决方案 > Python如何对数据值求和

问题描述

基本上,目前我的程序读取数据文件(电子信息),将值相加,并在将值相加后,将所有负数更改为 0,并保持正数不变。该程序完美地做到了这一点。这是我目前拥有的代码:

import csv
from datetime import timedelta
from collections import defaultdict


def convert(item): 
    try:
        return float(item)
    except ValueError:
        return 0

sums = defaultdict(list)

def daily():
    lista = []
    with open('Data.csv', 'r') as inp:
        reader = csv.reader(inp, delimiter = ';')
        headers = next(reader)
        for line in reader: 
            mittaus = max(0,sum([convert(i) for i in line[1:-2]])) 
            lista.append()
            #print(line[0],mittaus) ('#'only printing to check that it works ok)
daily()

我的问题是:如何将数据保存到列表中,以便我可以使用它们,并每天添加所有值,所以应该看起来像这样:

1.1.2016;358006
2.1.2016;39
3.1.2016;0 ...
8.1.2016;239143

在将这些放在列表中(稍后保存到新数据文件中)之后,它应该立即计算累积值,并且应该如下所示:

1.1.2016;358006
2.1.2016;358045
3.1.2016;358045...
8.1.2016;597188 

完成这些后,它应该准备好将这些数据写入新的 csv 文件。
数据文件背后的小峰:https ://pastebin.com/9HxwcixZ [它实际上是用';'划分的 ,而不是像 pastebin 中的 ' ']
数据文件:https ://files.fm/u/yuf4bbuk

我已经澄清了这些问题,所以你可能已经看到我之前问过。这些应该在没有外部库的情况下完成。我希望能找到一些帮助。

标签: pythonpython-3.xcsv

解决方案


推荐阅读