ValueError:时间数据'1/1/17 0:03'与格式'%m /%d /%Y%H:%M'不匹配

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ValueError:时间数据'1/1/17 0:03'与格式'%m /%d /%Y%H:%M'不匹配相关的知识,希望对你有一定的参考价值。

我想将csv文件中的时间转换为Python中的日期时间对象,以便我可以计算时差。但是当我这样做时,我一直在犯错误。

我的代码是:import datetime from time import strptime a=datetime.strptime('1/1/17 0:03', '%m/%d/%Y %H:%M') b=datetime.strptime('1/31/17 9:57', '%m/%d/%Y %H:%M')

我已经尝试了两个日期和时间,我一直在得到如下的值错误:

b=datetime.strptime('1/31/17 9:57', '%m/%d/%Y %H:%M')

Traceback (most recent call last):   
  File "<stdin>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/_strptime.py", line 565, in _strptime_datetime
    tt, fraction = _strptime(data_string, format)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/_strptime.py", line 362, in _strptime
    (data_string, format))

ValueError: time data '1/31/17 9:57' does not match format '%m/%d/%Y %H:%M'

我做错了什么?

答案

根据documentation!看起来日期和月份应该为零填充(01,02,... 31),对于年份,您应该使用%y(小写)。时间也应该为零填充(00:03)。

另一答案

您需要使用datetime.strptime()对不同的格式变量进行一些研究。对于月份的'%m',但填充为零。你可以阅读strptime参考on this site here

from datetime import datetime
from time import strptime

a=datetime.strptime('01/01/2017 00:03', '%m/%d/%Y %H:%M')

以上是关于ValueError:时间数据'1/1/17 0:03'与格式'%m /%d /%Y%H:%M'不匹配的主要内容,如果未能解决你的问题,请参考以下文章

写入excel数据报错:ValueError: Cannot convert {'code': 0, 'msg': 'login success!',

sklearn随机森林模型:ValueError: Unknown label type: ‘unknown‘

ValueError:未知标签类型:RandomForestClassifier 中的“未知”

如何修复'ValueError:shapes(1,3)和(1,1)未对齐:3(dim 1)!= 1(dim 0)'numpy中的错误

ValueError:无法解释 seaborn 中的输入

ValueError:不能将现有列的名称用于指示符列