如何获得当周的详细信息?

时间:2015-09-08 05:53:49

标签: python-2.7 datetime xlrd xlwt week-number

for wk in sorted(out.keys()):
rec_date = datetime.datetime(*xlrd.xldate_as_tuple(wk, inputfp.datemode)).isocalendar()[1]#search for dates of current week
if rec_date  == datetime.date.today().isocalendar()[1]:#conditions to check current week dates
   print '\nCurrent Week Number::' ,rec_date #printing the current week number
   print 'Total Effort::',str(out[wk])   #total efforts of current week date

这是代码,它根据当前周日期添加详细信息,但我需要当前周的所有小时数的总和而不是根据本周日期

输出我得到了:

当前周数:37 总的努力:: 29

当前周数:37 总努力:: 18

当前周数:37 总的努力:: 20

我应该得到像当前这周和总努力的输出:

当前周数:37 总的努力:: 67

1 个答案:

答案 0 :(得分:0)

按字典中的周数收集所有总数,然后在循环结束时打印出结果。

这样,您正在积累数字:

from collections import defaultdict

results_by_week = defaultdict(int)

for wk in sorted(out.keys()):
    rec_date = datetime.datetime(*xlrd.xldate_as_tuple(wk,
               inputfp.datemode)).isocalendar()[1]
    if rec_date  == datetime.date.today().isocalendar()[1]:
       results_by_week[rec_date] += int(out[wk])

for weeknum, total in results_by_week.items():
    print('Week Number: {} Total Effort: {}'.format(weeknum, total))