это работало для меньших csvs, но для больших csvs это создавало искаженный JSON, оно почему-то заканчивалось в середине строки .. ответ ниже, похоже, работал и для тех случаев ... но я ценю ответ @alfasin

ел бы преобразовать CSV в набор объектов JSON с Python, отформатированный в строках.

Я попробовал этот скрипт ниже, собрал из пары SO ответов, но это форматирует так:

{
   key:'value'
},
{
   key:'value'
} // etc

Я хотел бы отформатировать это как:

{ key, 'value'},
{ key, 'value'}, // etc

Я попробовал несколько способов, предложенных здесь, чтобы вставить новую строку, но ни один из них не сработал.

скрипт ниже:

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=(' ,')  ))

мой CSV прост:

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

так далее..

РЕДАКТИРОВАТЬ: я получил это предложение в комментариях другогосообщение:

for x in json_list: print json.dumps(x)

это напечатает формат, который я ищу, но я еще не выяснил, как записать это в файл JSON.

Ответы на вопрос(2)

Ваш ответ на вопрос