我使用了从日志文件中读取的以下格式,使用的格式化程序与DateTime格式匹配。不知道为什么它仍然会出错。-ValueError:时间数据“'2018-01-01 10:00:00'”与格式'%Y-%m-%d%H:%M:%S'不匹配f = open("log.txt", 'w')f.write("UID, SID, LogTime\n")f.write("1, 1, '2018-01-01 10:00:00'\n")f.write("1, 1, '2018-01-01 10:30:00'\n")f.write("1, 1, '2018-01-01 11:30:00'\n")f.close()x = open("log.txt", 'r')print (x.read())x.close()import numpy as np from datetime import datetimea = open("log.txt", 'r+')temp = Noneheader = a.readline()for line in a: line = line.strip() columns = line.split(',') print (columns) UID = columns[0] SID = columns[1] print (columns[2]) LogTime = datetime.strptime(columns[2],"%Y-%m-%d %H:%M:%S") a.write(','+LogTime-temp) temp = LogTime
3 回答
函数式编程
TA贡献1807条经验 获得超9个赞
您的数据似乎包含引号,因此变量中具有“'2018-01-01 11:30:00'”,而不是“ 2018-01-01 11:30:00”。
您可以通过多种方式删除这些内容,以下是一些想法:
LogTime = datetime.strptime(columns[2],"'%Y-%m-%d %H:%M:%S'")
LogTime = datetime.strptime(columns[2].strip("'"),"%Y-%m-%d %H:%M:%S")
或使用csv模块,
千万里不及你
TA贡献1784条经验 获得超9个赞
您正在读取此值“'2018-01-01 11:30:00'”,而不是此“ 2018-01-01 11:30:00”
试试看嘛
LogTime = datetime.strptime(columns[2].strip(" '"),"%Y-%m-%d %H:%M:%S")
添加回答
举报
0/150
提交
取消