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

How to sort and enter data using CSV writer or DictWriter

我的 CSV header 看起来像这样

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 header 列和字典中的键完全相似,但正如您所见,字典的顺序是混乱的。如何以将字典中的正确项目添加到 csv 中其列下的方式将每一行添加到 csv 文件?

使用 Python 3.5.2

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