Python XLWT - 自定义格式问题

1 投票
1 回答
645 浏览
提问于 2025-04-17 21:10

我想在一个单元格里输入时间,但我希望这个时间是独立的,不带年份、月份和日期这些信息。
当我尝试用15:55:00这个字符串,格式是h:mm AM/PM,结果在Excel表格里显示的还是15:55:00,直到我选中这个单元格并按下回车,这说明这种方式不太对。

虽然用日期时间的方式可以实现,但我就是不想在单元格里有日期信息,只想要格式正确的时间。

我现在的代码如下:

style = XFStyle()
style.num_format_str = 'h:mm:ss AM/PM'
time = "15:22:00"
ws.write(i, 4, time, style)

1 个回答

1

首先,在Excel中没有“没有日期的时间”这种说法。单元格里的值可以设置格式,让日期部分不显示,但实际上日期信息还是会存储在单元格里。

当你手动在Excel中输入时间时,它会默认一个零日期(如果格式设置得当,Excel会把这个零日期显示为1900年1月0日)。如果你想用xlwt来实现这个效果,那就直接使用Python的datetime.time对象,而不是datetime.datetime

import datetime

style = XFStyle()
style.num_format_str = 'h:mm:ss AM/PM'
time = datetime.time(hour=15, minute=22, second=0)
ws.write(i, 4, time, style)

撰写回答