100 votos

¿Cómo puedo convertir esta lista de diccionarios a un archivo csv? [Python]

Tengo una lista de diccionarios que se ve algo como esto:

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

¿Qué debo hacer para convertir esto en un archivo csv que se ve algo como esto:

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

187voto

Matthew Flaschen Puntos 131723
import csv
toCSV = [{'name':'bob','age':25,'weight':200},{'name':'jim','age':31,'weight':180}]
keys = ['name', 'age', 'weight']
f = open('people.csv', 'wb')
dict_writer = csv.DictWriter(f, keys)
dict_writer.writer.writerow(keys)
dict_writer.writerows(toCSV)

EDIT: a Mi antes de la solución, no maneja la orden. Como señaló Wilduck, DictWriter es más apropiado aquí.

19voto

Wilduck Puntos 5116

En Python csv módulo hay una DictWriter que probablemente será útil.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X