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

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

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

“12/31/2017”

“12/31/2017”

“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'))

如果有人告诉我如何解决这个问题,我将不胜感激?

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

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

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