我正在使用pandas和odo将csv文件导入数据库,文件中有一个日期字段,格式为27th August 2017 23:06:25
我希望转换为此格式%d-%m-%Y %H:%M:%S
。
这是我正在使用的代码片段:
df['Date'] = pd.to_datetime(df['Date'], format='%d-%m-%Y %H:%M:%S')
我最终得到了错误
ValueError: time data '27th August 2017 23:32:58' does not match format '%d-%m-%Y %H:%M:%S' (match)
任何有想法解决这个问题的人?请
答案 0 :(得分:3)
pandas
可以在没有格式说明符的情况下解析这个问题:
In[25]:
pd.to_datetime('27th August 2017 23:32:58')
Out[25]: Timestamp('2017-08-27 23:32:58')
因此您无需说明此示例的格式
另一点是,即使你尝试过类似的东西:
In[28]:
pd.to_datetime('27th August 2017 23:32:58', format='%dth %B %Y %H:%M:%S')
Out[28]: Timestamp('2017-08-27 23:32:58')
对于日期字符串,它会失败,如:
'3rd June 2011 12:11:23'
由于'rd'
,您无法使用to_datetime
传递格式来处理日期格式,请参阅python strptime
参考。你需要将它们剥离才能使它工作,但是pandas
是男人/女人足以嗅探格式所以没有必要