ValueError:时间数据“ 2017年12月31日”与格式“%d-%m-%Y”不匹配

时间:2019-07-17 02:38:44

标签: python datetime datetime-format

我正在处理日期数据,因为格式与我的日期数据匹配,所以看不到错误的答案:

“ 2017年12月31日”

“ 2017年12月31日”

“ 2018年1月1日”

“ 2018年1月1日”

“ 2018年1月1日”

“ 2018年1月1日”

但是当我尝试转换时,出现此错误

ValueError: time data '12/31/2017' does not match format '%d-%m-%Y'

我曾尝试将%m-%d切换为仅用于测试,但仍然遇到相同的错误。

这是我尝试转换日期数据的代码:

from datetime import datetime
data.Date = data.Date.apply(lambda x:datetime.strptime(x, '%m-%d-%Y'))

如果有人给我一个解决方法的线索,对您的帮助将不胜感激

2 个答案:

答案 0 :(得分:1)

12/31/2017的格式为M/D/Y,因为您不能有值31的月份:)

此外,您忘记了正斜杠。试试这个:

from datetime import datetime
data.Date = data.Date.apply(lambda x:datetime.strptime(x, '%m/%d/%Y'))

答案 1 :(得分:0)

要做:

data.Date = pd.to_datetime(df.Date, format='%m/%d/%Y)