我有一段代码可以将unix日期转换为标准的美国日期格式。它在excel中正确显示,但是excel并不将其识别为日期。
if str(startdate).isdigit():
startdate = int(startdate)
date = datetime.datetime.fromtimestamp(int(startdate)).strftime('%m/%d/%Y')
ws4.cell(row=cell.row,column=2).value = date
ws4.cell(row=cell.row,column=2).number_format = 'MM DD YYYY'
知道如何将excel视为日期而不是文字吗?
答案 0 :(得分:2)
我的错误是假设下面的行创建了一个日期。
date = datetime.datetime.fromtimestamp(int(startdate)).strftime('%m/%d/%Y')
冒险进入文档后(对于一个菜鸟来说可怕如此。它会变得更容易吗?)我意识到.strftime('%m/%d/%Y')
创建的字符串不是日期。
我使用以下命令将该字符串转换为日期:
date = datetime.datetime.strptime(date, '%m/%d/%Y').date()
现在excel将其视为日期。
希望这有助于将来。