Python日期格式化ValueError:未转换的数据剩余:
我正在查看一个日志文件,想要找出日志之间的时间差。下面是我写的单元测试代码,用来解决这个问题。我想弄明白为什么这个格式没有被正确解析。如果有人能帮忙,我会非常感激。
#import datetime
#import pandas as pd
from datetime import datetime
string1 = "02-23-24 13:37:46 0006847636: MKAP: Download"
string2 = "02-23-24 11:33:26 0000352403: MKAP: Download"
#%m-%d-%y %H:%M:%S %f
if __name__ == '__main__':
print(string2[:28].strip())
if string2[30:] == "MKAP: Download":
print("True")
dt1 = datetime.strptime(string1[:28], "%m-%d-%y %H:%M:%S %f")
dt2 = datetime.strptime(string2[:28], "%m-%d-%y %H:%M:%S %f")
delta = dt2 - dt1
print("Test", delta)
else:
print("False")
错误信息:
"C:\Scripts\python.exe" "ScriptFilter/test1.py"
Traceback (most recent call last):
File "ScriptFilter/test1.py", line 8, in <module>
dt1 = datetime.strptime(str_dt1, "%m-%d-%y %H:%M:%S %f")
File "lib\_strptime.py", line 577, in _strptime_datetime
tt, fraction, gmtoff_fraction = _strptime(data_string, format)
File "Python37\lib\_strptime.py", line 362, in _strptime
data_string[found.end():])
ValueError: unconverted data remains: 7636
1 个回答
0
日期的格式不对。试试这个:
if __name__ == '__main__':
print(string2[:28].strip())
if string2[30:] == "MKAP: Download":
print("True")
dt1 = datetime.strptime(str(string1[:28]), "%m-%d-%y %H:%M:%S %f") # Corrected format
dt2 = datetime.strptime(string2[:28].strip(), "%m-%d-%y %H:%M:%S %f") # Corrected format
delta = dt2 - dt1
print("Test", delta)
else:
print("False")