我想使用 Python 将 CSV 转换为一组 JSON 对象,并按行格式化。
我尝试了下面的脚本,将几个 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
etc..
编辑:我在另一个人的评论中收到了这个建议post:
for x in json_list: print json.dumps(x)
这将打印我正在寻找的格式,但我还没有弄清楚如何将其写入 json 文件。