在python中将非填充字符串转换为日期(以给定格式)
我试图在python中将非填充字符串转换为日期,并出现以下错误:在python中将非填充字符串转换为日期(以给定格式),python,string,date,Python,String,Date,我试图在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将年份与两
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.strtime()
与输入的子字符串一起使用,以便查看哪些部分工作,哪些部分失败:
>>> 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
导入日期时间
>>>datetime.datetime.strtime('1','%d')
datetime.datetime(1900,1,1,0,0)
>>>datetime.datetime.strtime('1/08','%d/%m')
datetime.datetime(1900,8,1,0,0)
>>>datetime.datetime.strtime('2018年8月1日','%d/%m/%y')
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/Users/mj/Development/Library/buildout.python/parts/opt/lib/python3.7/_strtime.py”,第577行,在_strtime_datetime中
tt,分数,gmtoff\u分数=\u strTime(数据字符串,格式)
文件“/Users/mj/Development/Library/buildout.python/parts/opt/lib/python3.7/_strptime.py”,第362行,在_strptime中
数据_字符串[found.end():])
ValueError:未转换的数据仍然存在:18
错误表明
%y
只处理了一年中的20
部分,告诉我们它不是2018
输入的正确占位符。%y
将一年与两位数字匹配,省略了世纪。您输入的年份为4位数,因此需要使用%Y
:
'%d/%m/%Y %I:%M %p'
如有疑问,请将datetime.strtime()
与输入的子字符串一起使用,以便查看哪些部分工作,哪些部分失败:
>>> 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
导入日期时间
>>>datetime.datetime.strtime('1','%d')
datetime.datetime(1900,1,1,0,0)
>>>datetime.datetime.strtime('1/08','%d/%m')
datetime.datetime(1900,8,1,0,0)
>>>datetime.datetime.strtime('2018年8月1日','%d/%m/%y')
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/Users/mj/Development/Library/buildout.python/parts/opt/lib/python3.7/_strtime.py”,第577行,在_strtime_datetime中
tt,分数,gmtoff\u分数=\u strTime(数据字符串,格式)
文件“/Users/mj/Development/Library/buildout.python/parts/opt/lib/python3.7/_strptime.py”,第362行,在_strptime中
数据_字符串[found.end():])
ValueError:未转换的数据仍然存在:18
错误表明
%y
只处理了一年中的20
部分,告诉我们它不是2018
输入的正确占位符。%y
只匹配两位数的年份,而不是4位数的年份year@MartijnPieters:谢谢,伙计!它成功了。%y
只匹配两位数的年份,而不是4位数的年份year@MartijnPieters:谢谢,伙计!成功了。