【发布时间】:2020-12-08 09:47:02
【问题描述】:
我有一个类似的 CSV 文件
以下代码读取 CSV 文件并将数据存储在字典中
from pprint import pprint
d = {}
with open("Book1.csv") as f:
headers = [header.strip() for header in next(f).split(",")[1:]]
for line in f:
values = [value.strip() for value in line.split(",")]
d[values[0]] = dict(zip(headers, values[1:]))
pprint(d)
以上代码给出如下输出:
{
'01-01-2020': {'name': 'z', 'time': '00:00:00', 'value': '23.2'},
'02-01-2020': {'name': 'b', 'time': '00:05:00', 'value': '23.2'}
}
但问题是重复数据没有存储在字典中,它只存储来自 csv 文件的最后一条记录。 我想要从 csv 文件到字典的所有记录。
【问题讨论】:
-
date列是您的密钥,如果密钥不是唯一的,您打算如何检索数据记录?我建议你看看其他数据结构。也许将每一行读入一个对象并将其存储在一个列表中。 -
键应该相同,这就是为什么重复值不存储在字典中的原因。
标签: python csv dictionary