将Excel样式date转换为pandas

我必须parsing一个XML文件,它给了我excel风格的date。 例如:42580.3333333333。

pandas是否提供了一个在适当的date时间转换数字的方法?

谢谢你的帮助。

好,我认为最简单的事情是从浮点数构造一个TimedeltaIndex,并将其添加到标量date时间为1900,1,1:

 In [85]: df = pd.DataFrame({'date':[42580.3333333333, 10023]}) df Out[85]: date 0 42580.333333 1 10023.000000 In [86]: df['real_date'] = pd.TimedeltaIndex(df['date'], unit='d') + dt.datetime(1900,1,1) df Out[86]: date real_date 0 42580.333333 2016-07-31 07:59:59.971200 1 10023.000000 1927-06-12 00:00:00.000000 

好吧,看起来,Excel的有点奇怪,这是date,谢谢@ayhan:

 In [89]: df['real_date'] = pd.TimedeltaIndex(df['date'], unit='d') + dt.datetime(1899, 12, 30) df Out[89]: date real_date 0 42580.333333 2016-07-29 07:59:59.971200 1 10023.000000 1927-06-10 00:00:00.000000 

请参阅相关: 如何将python datetime.datetime转换为Excel序列date编号