首页 > 解决方案 > ValueError:时间数据 '12/31/2017' 与格式 '%d-%m-%Y' 不匹配

问题描述

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

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

如果有人给我一个线索如何解决这个问题,任何帮助将不胜感激?

标签: pythondatetimedatetime-format

解决方案


12/31/2017是格式M/D/Y,因为你不能有几个月的价值31:)

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

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

推荐阅读