代码之家  ›  专栏  ›  技术社区  ›  Hisham Mubarak

如何使用CSV writer或DictWriter对数据进行排序和输入

  •  -1
  • Hisham Mubarak  · 技术社区  · 7 年前

    我的CSV标题如下所示

    ID | First Name | Last Name | Email
    

    我有很多字典要添加为循环中的行,如下所示。

    {'ID':1, 'First Name':'John', 'Last Name':'Doe','Email':'test@example.com'}
    {'Email':'another@example.com', 'First Name':'Jane', 'Last Name':'Doe', 'ID':3}
    

    csv标题列和字典中的键完全相似,但正如您所看到的,字典的顺序混乱。如何将每一行添加到csv文件中,使字典中的正确项添加到csv中的列下?

    使用Python 3.5.2

    1 回复  |  直到 7 年前
        1
  •  1
  •   Martin Evans    7 年前

    CSV DictWriter() 可按如下方式使用:

    import csv
    
    data = [{'ID':1, 'First Name':'John', 'Last Name':'Doe','Email':'test@example.com'}, 
            {'Email':'another@example.com', 'First Name':'Jane', 'Last Name':'Doe', 'ID':3}]
    
    with open('output.csv', 'w', newline='') as f_output:
        csv_output = csv.DictWriter(f_output, fieldnames=['ID', 'First Name', 'Last Name', 'Email'])
        csv_output.writeheader()
        csv_output.writerows(data)
    

    给你 output.csv 包含:

    ID,First Name,Last Name,Email
    1,John,Doe,test@example.com
    3,Jane,Doe,another@example.com