我想创建一个从大型csv文件中读取的字典列表,该文件使用第一行中的条目作为键。例如,test.csv
Header1, Header2, Header3
A, 1, 10
B, 2, 20
C, 3, 30
结果dict看起来像:
MyList = [{'Header1': A, 'Header2': 1, 'Header3: 10}, {'Header1': B, 'Header2': 2, 'Header3: 20}, {'Header1': C, 'Header2': 3, 'Header3: 30}]
我知道如何阅读文件,并认为从集合中获取默认值可能是一种好方法,但不能正确使用语法。
答案 0 :(得分:7)
这正是csv.DictReader
的目的。
import csv
with open('data.csv') as f:
reader = csv.DictReader(f)
for row in reader:
print row
对于data.csv
包含:
Header1,Header2,Header3
A,1,10
B,2,20
C,3,30
打印:
{'Header2': '1', 'Header3': '10', 'Header1': 'A'}
{'Header2': '2', 'Header3': '20', 'Header1': 'B'}
{'Header2': '3', 'Header3': '30', 'Header1': 'C'}