我有两个看起来像这样的列表(两个都有相同的长度):
date_list = [datetime.date(2019, 12, 2), datetime.date(2019,12,05), datetime.date(2019,12,04), datetime.date(2019,12,06)]
time_list = [datetime.time(10, 11, 55), datetime.time(10, 42, 46), datetime.time(10, 11, 45), datetime.time(10, 20, 15)]
现在我想将这两个列表放入xls工作簿中,如下所示:
我尝试过此代码:
workbook = Workbook('output.xlsx')
Report_Sheet = workbook.add_worksheet()
date_1 = 0
for i in range(len(date_list)):
date +=1
Report_Sheet.write_row(0, date_1, date_list)
time_1 = 0
for i in range(len(time_list)):
time_1 +=1
Report_Sheet.write_row(1, time_1, time_list)
workbook.close()
问题是,代码覆盖了xls中的单元格。我没有摆脱列表元素。而是为每个i
写入整个列表。
我尝试过类似的事情:
date_1 = 0
for i in range(len(date_list)):
date +=1
Report_Sheet.write_row(0, date_1, date_list[i])
但是它不起作用。错误显示:
TypeError:'datetime.date'对象不可迭代
也许有人找到了解决方案。谢谢您的帮助;-)
您正在写完整的行。通过将其放入for循环中,您最终将重写和重叠已经放入的数据。
workbook = Workbook('output.xlsx')
Report_Sheet = workbook.add_worksheet()
Report_Sheet.write_row(0, 0, date_list)
Report_Sheet.write_row(1, 0, time_list)
workbook.close()
write_row
只是用于编写连续行的助手。如果需要空格,请呼叫单个单元格编写器之一
workbook = Workbook('output.xlsx')
Report_Sheet = workbook.add_worksheet()
for i, d in enumerate(date_list):
Report_Sheet.write(0, i*3, d)
for i, t in enumerate(time_list):
Report_Sheet.write(1, i*3, t)
workbook.close()