如何使用第一行作为键的csv文件创建dict

时间:2015-04-01 05:31:01

标签: python csv dictionary

我想创建一个从大型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}]

我知道如何阅读文件,并认为从集合中获取默认值可能是一种好方法,但不能正确使用语法。

1 个答案:

答案 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'}