如何将这个字典列表转换成一个CSV文件?

我有一个这样的字典列表:

toCSV = [{'name':'bob','age':25,'weight':200},{'name':'jim','age':31,'weight':180}] 

我应该怎么做才能将其转换为一个如下所示的csv文件:

 name,age,weight bob,25,200 jim,31,180 
 import csv toCSV = [{'name':'bob','age':25,'weight':200}, {'name':'jim','age':31,'weight':180}] keys = toCSV[0].keys() with open('people.csv', 'wb') as output_file: dict_writer = csv.DictWriter(output_file, keys) dict_writer.writeheader() dict_writer.writerows(toCSV) 

编辑:我以前的解决scheme不处理订单。 正如Wilduck指出的那样,DictWriter在这里更合适。

在Python的csv模块中有一个DictWriter ,这可能会有帮助。

这是当你有一个字典列表:

 import csv with open('names.csv', 'w') as csvfile: fieldnames = ['first_name', 'last_name'] writer = csv.DictWriter(csvfile, fieldnames=fieldnames) writer.writeheader() writer.writerow({'first_name': 'Baked', 'last_name': 'Beans'}) 

因为@User和@BiXiC在这里向UTF-8寻求帮助,这是@Matthew提供的一个解决scheme。 (我不能发表评论,所以我正在回答。)

 import unicodecsv as csv toCSV = [{'name':'bob','age':25,'weight':200}, {'name':'jim','age':31,'weight':180}] keys = toCSV[0].keys() with open('people.csv', 'wb') as output_file: dict_writer = csv.DictWriter(output_file, keys) dict_writer.writeheader() dict_writer.writerows(toCSV)