如何将同一周的所有数字加到列表中?

问题描述

我已经搜寻了大约2天的答案,但我仍然被困住。

我有很多这样的日期和数字列表:

 1.1.2018 0:00;2590
 3.1.2018 1:00;2530
 4.2.2018 2:00;1700
 6.2.2018 3:00;2340
 18.3.2018 4:00;1800
 15.4.2018 5:00;2850
 ...

我需要将所有具有相同星期编号的数字相加,并在一周内返回总数字,如下所示:

0;0
1;549730
2;645010
3;681320
4;677060
5;698450
...etc
52;576280
53;81640

到目前为止,这是我的代码,我已经将日期和数字分隔在自己的列表中,但不确定如何从此处继续。我应该以某种方式使用strftime%W,但不知道如何使用。

import datetime
from datetime import date
from datetime import datetime

def main():
    file = open("2018Electricity.txt","r")
    line = file.readline()
    time_list = []
    electricity_list = []
    total = []

    for i in file:
        time = i.strip().split(';')[0]
        electricity = i.strip().split(';')[1]
        time_list.append(datetime.strptime(time,'%d.%m.%Y %H:%M'))
        electricity_list.append(electricity)
        
    file.close()

main()

解决方法

只需使用一个简单的字典并按顺序运行它即可。

wait_class