我可以使用xldate_as_tuple函数将从excel读取的日期转换为正确的日期。是否有任何函数可以执行相反的操作,即将正确的日期转换为浮点数,并将其作为日期存储在Excel中?
答案 0 :(得分:1)
在xlrd xldate.py模块中,有几个函数xldate_from_date_tuple()
,xldate_from_time_tuple()
和xldate_from_datetime_tuple()
,它们将日期时间对象转换为Excel系列日期。
此外,在XlsxWriter utility.py模块中有一个名为datetime_to_excel_datetime()
的函数,它将日期时间对象转换为Excel序列日期。
所有这些解决方案都考虑到了epoch和Excel 1900 leapyear bug。
答案 1 :(得分:0)
Excel日期表示为pywintypes.Time类型对象。所以为了例如将当前时间戳分配给您执行的单元格:
workbook.Worksheets(1).Cells(1,1).Value = pywintypes.Time(datetime.datetime.now())
答案 2 :(得分:0)
几乎是Bjoern Stiel的回答(尝试向上箭头,但没有足够的声誉)。
必须添加tz_info(使用pytz):
from win32com.client import Dispatch
xlApp = Dispatch("Excel.Application")
book = xlApp.Workbooks.Open(r"C:\Path\to\file")
d = pytz.utc.localize(datetime.datetime.now())
book.Sheets(1).Cells(2,12).Value = d