xls工作簿中的python读入日期和时间

问题描述 投票:0回答:1

我有两个看起来像这样的列表(两个都有相同的长度):

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工作簿中,如下所示:

Excel_ouput

我尝试过此代码:

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'对象不可迭代

也许有人找到了解决方案。谢谢您的帮助;-)

python excel datetime xls xlsxwriter
1个回答
0
投票

您正在写完整的行。通过将其放入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()
© www.soinside.com 2019 - 2024. All rights reserved.