【问题标题】:Deserialize DateTime field in json file using Python (Pandas)使用 Python (Pandas) 反序列化 json 文件中的 DateTime 字段
【发布时间】:2020-09-11 01:31:22
【问题描述】:

我在 Python 中使用 Pandas 解析一个 json 文件。有一个名为 DateTime 的字段,其中包含以下字符串:1581251737000。有人知道这个 DateTime 字段的格式,以便我可以使用 pandas.to_datetime() 函数对其进行解析吗?

【问题讨论】:

    标签: python json pandas datetime parsing


    【解决方案1】:

    这称为epoch timestamp,以毫秒格式表示,您可以删除尾随的零并将其转换为可读的日期时间,如下所示:

    time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(1581251737))
    

    【讨论】:

      【解决方案2】:

      在使用 pandas 时,您可以定义自定义格式来辅助 pd.to_datetime 函数,如下所示:

      pd.to_datetime('13000101', format='%Y%m%d', errors='ignore')
      

      在您的情况下,您首先必须通过将单位参数提供为ms 来将此时间戳转换为日期时间戳,我猜您的情况是这样。 我建议您定义自己的格式以避免任何尾随零

      默认情况下,pandas 使用YYYY MM DD HH MM SS MSMSMS

      查看文档here

      【讨论】:

        【解决方案3】:

        最快的方法是使用 pandas:

        import pandas as pd
        from datetime import datetime
        
        x = "1581251737000"
        pd.to_datetime(x, unit="ms")
        
        #Output
        Timestamp('2020-02-09 12:35:37')
        

        您可以使用 strftime 将其转换为您想要的格式:

        pd.to_datetime(x, unit="ms").strftime("%Y/%m/%d")
        
        #Output
        '2020/02/09'
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-05-07
          • 1970-01-01
          • 1970-01-01
          • 2020-07-04
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多