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

Python 如何使用CSV writer或DictWriter对数据进行排序和输入,python,python-3.x,csv,dictionary,export-to-csv,Python,Python 3.x,Csv,Dictionary,Export To Csv,我的CSV头如下所示 ID |名|姓|电子邮件 我有很多字典要添加为循环中的行,如下所示 {'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头列和dictionary中的键完全相似,但正如您所见,dictionary的顺序混乱。

我的CSV头如下所示

ID |名|姓|电子邮件
我有很多字典要添加为循环中的行,如下所示

{'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头列和dictionary中的键完全相似,但正如您所见,dictionary的顺序混乱。如何将每一行添加到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、名字、姓氏、电子邮件
约翰,多伊,test@example.com
3,简,多伊,another@example.com

a的
fieldnames
参数确定写入csv文件的列/字段的顺序。此参数是一个序列,其顺序决定了写入文件行中字段的顺序。请参阅文档中的示例代码。