【发布时间】:2011-09-10 02:33:22
【问题描述】:
我正在使用 DictReader() 读取 csv 文件。该函数返回一个字典,其中标题项是键,单元格是值。很酷。
但我正在尝试考虑数据可能与我预期不同的行。在这种情况下(我遇到了 ValueError 异常),我希望将“可疑”的行放入单独的字典中,以进行手动处理。
我的问题是:由于我的第一个字典(DictReader 返回的对象)已正确设置了所有键,我如何将 仅键 复制到我的第二个字典中,即我只想成为可疑行的字典,手动处理?
我一直在玩弄 dict.fromkeys() 之类的东西有一段时间了,但我什么也没有。哈!
编辑:粘贴我的一些错误代码。要去隐藏我的代码的耻辱。不要评判我! ;-)
unsure_rows = dict.fromkeys(dict(csv_reader).keys(), [])
for row in csv_reader:
# if row['Start Time'] != 'None':
try:
if before_date > strptime(row['Start Time'], '%Y-%m-%d %H:%M:%S') > after_date:
continue
except ValueError:
unsure_rows += row
ValueError: 字典更新序列元素#0 的长度为 13; 2 是必需的
【问题讨论】:
标签: python dictionary