我有一个列有2种不同格式的日期我正在尝试使用to_datetime的熊猫转换为日期时间 这是代码
import pandas as pa
pa.to_datetime(data["servertime"], format="%a %b %d %H:%M:%S %Y")
例如 -
servertime
2014年11月4日星期二12:01:15
但很少有行包含以下格式的数据 u'2014-11-04 13:15:13 +0000' 这会引发错误
如何解析同一行中存在的两种不同格式?
如果我不能那么如何转换/删除/标记行(最好没有硬编码条件)?
答案 0 :(得分:1)
首先使用dateutil.parser.parse()
解析字符串,而不是使用to_datetime()
:
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
值提供给数据框。