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
答案 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))