ValueError:时间数据 'LEGACY SYSTEM' 与格式 '%H:%M:%S' 不匹配
Posted
技术标签:
【中文标题】ValueError:时间数据 \'LEGACY SYSTEM\' 与格式 \'%H:%M:%S\' 不匹配【英文标题】:ValueError: time data 'LEGACY SYSTEM' does not match format '%H:%M:%S'ValueError:时间数据 'LEGACY SYSTEM' 与格式 '%H:%M:%S' 不匹配 【发布时间】:2019-05-09 16:07:06 【问题描述】:我看到这是一个受欢迎的问题,所以希望有人可以帮助我。然而,我被难住了。我的 CSV 文件在第一列中包含时间戳,例如
18:49:45
19:50:31
20:51:26
我的代码如下。我想我使用了正确的 24 小时、分钟和秒格式。
import csv
import time
with open('file.csv', 'rb')as csvfile:
filereader = csv.reader(csvfile, delimiter=',')
for row in filereader:
date = row[0]
parsed = datetime.datetime.strptime(date, '%H:%M:%S')
错误:ValueError:时间数据“LEGACY SYSTEM”与格式“%H:%M:%S”不匹配
【问题讨论】:
你的 csv 文件是否有标题行? @buran 是的,它确实如此,所以我需要跳过那些? 是的,您需要跳过标题行。或使用 csv.DictReader 【参考方案1】:您有一个标题行。您可以使用 next
从您的 csv.reader
迭代器中检索(然后丢弃)第一行:
from datetime import datetime
import csv
from io import StringIO
file = StringIO("""LEGACY SYSTEM
18:49:45
19:50:31
20:51:26""")
# replace file with open('file.csv', 'rb')
with file as csvfile:
filereader = csv.reader(csvfile, delimiter=',')
next(filereader)
for row in filereader:
parsed = datetime.strptime(row[0], '%H:%M:%S')
print(parsed)
# 1900-01-01 18:49:45
# 1900-01-01 19:50:31
# 1900-01-01 20:51:26
如果您有多个(例如两个)标题行,您可以使用 for
循环来忽略它们:
for _ in range(2):
next(filereader)
【讨论】:
这基本上就是我死的。但是,我有 2 个标题行。有没有办法将 next 用于多行?以上是关于ValueError:时间数据 'LEGACY SYSTEM' 与格式 '%H:%M:%S' 不匹配的主要内容,如果未能解决你的问题,请参考以下文章
certutil:函数失败:SEC_ERROR_LEGACY_DATABASE:证书/密钥数据库采用旧的、不受支持的格式
在 sklearn.preprocessing 模块中,我得到 ValueError: Found array with 0 feature(s)
Pandas:使用 MultiIndex 旋转数据框时出现 ValueError
raise ValueError("Unknown label type: %s" % repr(ys)) ValueError: Unknown label type: (arr
ValueError:找到具有 0 个样本 (s) 的数组(形状 = (0, 1),而 MinMaxScaler 要求最小值为 1