用熊猫转换Excel样式日期

发布于 2021-01-29 19:29:24

我必须解析一个XML文件,该文件为我提供Excel样式的日期时间。例如:42580.3333333333

熊猫是否提供将该数字转换为常规datetime对象的方法?

关注者
0
被浏览
49
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    好的,我认为最简单的方法是TimedeltaIndex从浮点数构造a并将其添加到以下标量日期时间中1900,1,1

    In [85]:
    import datetime as dt
    import pandas as pd
    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的日期有点奇怪,谢谢@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
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看