将 .xlsx 日期转换为正常日期

Converting a .xlsx date into a normal date

我一直在使用 xlrd3 通过 python 管理 .xlsx 电子表格。当我得到日期应该在的单元格的值时,它会给我 44295,它应该是 09/04/2021。

我明白这是因为 excel 存储日期的格式,所以我一直这样使用 xldate_as_datetime 函数:

 lastsold = itemworksheet.cell_value(i,32)
 lastsold_date = xlrd3.xldate_as_datetime(lastsold,0)
 lastsold_object = lastsold_date.date()
 lastsold_string = lastsold_object.isoformat()

(i 是来自 'for' 循环的可交互项)

当代码为(lastsold,0)时,我收到错误

'<' not supported between instances of 'str' and 'int'

当代码为 (lastsold,1) 时,我得到了错误。

invalid literal for int() with base 10: ''

我该怎么做才能在 python 中获取格式为 09/04/2021 的日期?

我已经用下面的代码进行了测试,效果很好。请检查。

import xlrd

book = xlrd.open_workbook("test.xlsx")
first_sheet = book.sheet_by_index(0)

val = first_sheet.cell_value(0, 1)
lastsold_date = xlrd.xldate_as_datetime(val, 1)
obj = lastsold_date.date()

print(obj.isoformat())