ValueError: time data '27th August 2017 23:32:58' does not match format '%d-%m-%Y %H:%M:%S' (match)
ValueError: time data '27th August 2017 23:32:58' does not match format '%d-%m-%Y %H:%M:%S' (match)
我正在使用 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)
有人有解决这个问题的想法吗?请
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
足以 man/woman 嗅探格式,因此不需要
我正在使用 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)
有人有解决这个问题的想法吗?请
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
足以 man/woman 嗅探格式,因此不需要