Search code examples
pythoncsvdictionarydata-conversion

How do I convert this list of dictionaries to a csv file?


I have a list of dictionaries that looks something like this:

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

What should I do to convert this to a csv file that looks something like this:

name,age,weight
bob,25,200
jim,31,180

Solution

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