Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中将非填充字符串转换为日期(以给定格式)_Python_String_Date - Fatal编程技术网

在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将年份与两

我试图在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.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:谢谢,伙计!成功了。