[英]Converting non padded string to Date (in a given format) in python
我正在尝试将非填充字符串转换为python中的日期并得到以下错误:
e_dataframe['Modified_Date'] = pd.to_datetime(e_dataframe['Modified_Date'], format='%d/%m/%y %I:%M %p')
ValueError: time data '1/08/2018 4:41 PM' does not match format '%d/%m/%y %I:%M %p' (match)
格式相似,仍然会出现错误。
%y
用两位数字匹配年份,省略了世纪。 您输入的年份是4位数,因此您需要使用%Y
:
'%d/%m/%Y %I:%M %p'
如有疑问,请在输入的子字符串中使用datetime.strptime()
,以便查看哪些部分有效,哪些部分失败:
>>> import datetime
>>> datetime.datetime.strptime('1', '%d')
datetime.datetime(1900, 1, 1, 0, 0)
>>> datetime.datetime.strptime('1/08', '%d/%m')
datetime.datetime(1900, 8, 1, 0, 0)
>>> datetime.datetime.strptime('1/08/2018', '%d/%m/%y')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/mj/Development/Library/buildout.python/parts/opt/lib/python3.7/_strptime.py", line 577, in _strptime_datetime
tt, fraction, gmtoff_fraction = _strptime(data_string, format)
File "/Users/mj/Development/Library/buildout.python/parts/opt/lib/python3.7/_strptime.py", line 362, in _strptime
data_string[found.end():])
ValueError: unconverted data remains: 18
该错误表明%y
仅处理了一年中的20
部分,告诉我们它不是2018
输入内容的正确占位符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.