csv a json con python, json en filas
Me gustaría convertir un CSV a un conjunto de objetos JSON con Python, formateados en filas.
Intenté este script a continuación, reunido a partir de un par de respuestas SO, pero esto se formatea de esta manera:
{
key:'value'
},
{
key:'value'
} // etc
Me gustaría formatear esto como:
{ key, 'value'},
{ key, 'value'}, // etc
Intenté algunas formas sugeridas aquí para insertar una nueva línea, pero ninguna funcionó hasta ahora.
guión a continuación:
import sys, getopt
import csv
import json
CSV_PATH = 'path/file.csv'
JSON_PATH = 'path/demo.json'
csv_file = csv.DictReader(open(CSV_PATH, 'r'))
json_list = []
for row in csv_file:
json_list.append(row )
file(JSON_PATH, 'w').write(json.dumps(json_list, indent=4, separators=(' ,') ))
mi csv es sencillo:
SUM_F SUM_I SUM_P SUM_PI SUM_Bt SUM_BI SUM_M SUM_MI Year Month
15 3963 14 993 0 91 1 2879 2009 1
etc.
EDITAR: recibí esta sugerencia en los comentarios de otroenviar:
for x in json_list: print json.dumps(x)
esto imprimirá el formato que estoy buscando, pero aún no he descubierto cómo escribir esto en un archivo json.