【问题标题】:Parsing two different formats of dates in data frame解析数据框中两种不同格式的日期
【发布时间】:2015-06-20 21:47:40
【问题描述】:

我有一列有 2 种不同格式的日期,我正在尝试使用 pandas 的 to_datetime 将其转换为日期时间 这是代码

import pandas as pa
pa.to_datetime(data["servertime"], format="%a %b %d %H:%M:%S %Y")

例如 - 服务器时间 2014 年 11 月 4 日星期二 12:01:15

但很少有行包含以下格式的数据 你'2014-11-04 13:15:13 +0000' 这会引发错误

如何解析同一行中存在的两种不同格式?

如果我不能,那么如何转换/删除/标记行(最好不要硬编码条件)?

【问题讨论】:

    标签: python parsing datetime pandas dataframe


    【解决方案1】:

    不要使用to_datetime(),而是先用dateutil.parser.parse()解析你的字符串:

    In [2]: from dateutil.parser import parse
    
    In [3]: dt1 = "Tue Nov 4 12:01:15 2014"
    
    In [4]: dt2 = "2014-11-04 13:15:13 +0000"
    
    In [5]: parse(dt1)
    Out[5]: datetime.datetime(2014, 11, 4, 12, 1, 15)
    
    In [6]: parse(dt2)
    Out[6]: datetime.datetime(2014, 11, 4, 13, 15, 13, tzinfo=tzutc())
    

    然后您可以将 datetime.datetime 值输入您的数据框。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-09
      • 2018-03-07
      • 2020-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多