我有一个如下所示的 csv 文件:
a, b, c, d
1, 1, 2, 2
2, 3, 3, 4
2, 2, 1, 1
我想将这个 csv 文件加载到字典中,这样我就可以得到
dict['a'] = 1, 2, 2
dict['b'] = 1, 3, 2
dict['c'] = 2, 3, 1
dict['d'] = 2, 4, 1
有没有办法在 csv 阅读器级别执行此操作?
我做到了这一点:
import csv
headers = {}
with open('file.csv') as csvfile:
reader = csv.reader(csvfile, delimiter = ',')
count = 0;
for row in reader:
if count == 0:
for field in row:
if field not in headers.keys():
headers[field] = []
count +=1
这会加载 header ,现在我想加载每个值。
请您参考如下方法:
您可以使用 DictReader。 然而, 如果输入文件在字段值周围包含空格, 它们需要手动剥离。
import csv
with open('file.csv') as csvfile:
reader = csv.DictReader(csvfile, skipinitialspace=True)
d = {name: [] for name in reader.fieldnames}
for row in reader:
for name in reader.fieldnames:
d[name].append(row[name])
print(d)
