Tengo un diccionario:Python: Escribir un diccionario en un archivo CSV con una línea para cada 'clave: valor'
mydict = {key1: value_a, key2: value_b, key3: value_c}
Quiero escribir los datos en un archivo de dict.csv , en este estilo:
key1: value_a
key2: value_b
key3: value_c
me escribió:
import csv
f = open('dict.csv','wb')
w = csv.DictWriter(f,mydict.keys())
w.writerow(mydict)
f.close()
Pero ahora tengo todas las claves en una fila y todos Valu es en la siguiente fila ...
Cuando logro escribir un archivo como este, también quiero leerlo en un nuevo diccionario.
Solo para explicar mi código, el diccionario contiene valores y bools de textctrls y casillas de verificación (usando wxpython). Quiero agregar los botones "Guardar configuraciones" y "Cargar configuraciones". La configuración de guardar debe escribir el diccionario en el archivo de la manera mencionada (para que sea más fácil para el usuario editar el archivo csv directamente), cargar la configuración debe leer el archivo y actualizar los cuadros de texto y las casillas de verificación.
¿Puede proporcionar un mejor ejemplo de lo que quiere como resultado? el "estilo" que tienes arriba no es CSV. ¿Estás buscando 'key1, value_a [linebreak] key2, value_b [linebreak] key3, value_c'? – tkone
Otro enfoque es usar 'repr()' para escribir el dict y luego evaluar la cadena cuando lo lees. Mira esto [antigua publicación SO] (http://stackoverflow.com/questions/1436703/difference- between-str-and-repr-in-python) para una discusión de 'str()' vs. 'repr()', y [los documentos] (http://docs.python.org/library/functions.html #repr), también. –
Además de mi respuesta a continuación, si prefieres algo un poco más sofisticado que un simple archivo CSV, es posible que desees consultar el módulo 'ConfigParser' –