我正在尝试解析从Python中的excel文件接收到的数据。为此,我使用xlrd
库。我在Excel中有一个单元格,它的值是5/16/2016 12:15,我在Python中收到的是42506.6493。我知道Excel将日期保存为1900年1月1日以来的天数。因此,在Python中,我尝试使用下面的代码添加天数(目前仅为天,不包含表示时间的分数)以获得相同的日期:
orgDate = datetime.datetime(1900,1,1,0,0,0,0)
xlVal = 42506.6493
newDate = orgDate + datetime.timedelta(days=int(xlVal))
但是当我读到newDate
的值时,我发现它是datetime.datetime(2016, 5, 18, 0, 0)
,而它应该是5月16日而不是18。有人知道怎么处理吗?在
请咨询xlrddocumentation,特别是dates in Excel部分。在
约会不是从1900-01-01开始的。你有两天的区别,因为(1)Excel保留了Lotus1-2-3错误,认为1900是闰年;(2)即使日期是从1900-01-01开始的,那么1900-01-01是第一天,而不是第0天,所以你需要相应地调整你的时间差。在
但实际上,只要省去麻烦,使用xlrd的内置日期工具^{} 或{a4}。在
相关问题 更多 >
编程相关推荐