【问题标题】:How to create dict using csv file with first row as keys如何使用以第一行为键的csv文件创建dict
【发布时间】:2015-06-05 16:02:10
【问题描述】:

我想创建一个从大型 csv 文件中读取的字典列表,该文件使用第一行中的条目作为键。例如,test.csv

Header1, Header2, Header3
A,       1,       10
B,       2,       20
C,       3,       30

生成的字典看起来像:

MyList = [{'Header1': A, 'Header2': 1, 'Header3: 10}, {'Header1': B,     'Header2': 2, 'Header3: 20}, {'Header1': C, 'Header2': 3, 'Header3: 30}]

我知道如何读取文件,并且认为集合中的 defaultdict 可能是一个好方法,但无法正确使用语法。

【问题讨论】:

    标签: python csv dictionary


    【解决方案1】:

    这正是 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'}
    

    【讨论】:

    • 谢谢,我们上周在 Python 培训中没有学到那个。我使用的是 csv.reader,但无法正确遍历字段。
    猜你喜欢
    • 2018-08-04
    • 2015-05-02
    • 2012-06-09
    • 1970-01-01
    • 2013-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多