Как суммировать значения данных
Привет,
В основном в настоящее время моя программа считывает файл данных (электрическая информация), суммирует значения, а после суммирования значений меняет все отрицательные числа на 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 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
Они должны быть в новой подпрограмме
Малый пик что стоит за файлом данных: https://pastebin.com/9HxwcixZ [на самом деле он делится на";", а не на"', как в пастебине]
Файл данных: https://files.fm/u/yuf4bbuk
Что я уже пробовал:
def analysointi(): lista = [] reader = csv.reader(inp, delimiter = ';') for line in reader: lista.append(line) print(line[2]) analysointi()
Думая об этом способе, он не должен работать, так как значения уже должны быть в списке, поэтому этот способ может быть сброшен.
Я пытался искать результаты, спрашивал людей, но у меня не было никакого решения. Я просто не могу решить это сам, поэтому я был бы очень признателен, если бы кто-то мог мне помочь
Member 14060132
До сих пор не могу понять, как сохранить данные, которые в первом столбце-это дата, а во втором-значение. Я пробовал работать с датой-временем, но это не сработало.