如何将这个字典列表转换成一个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)