这是我的代码,非常简单的东西..。
import csv
import json
csvfile = open('file.csv', 'r')
jsonfile = open('file.json', 'w')
fieldnames = ("FirstName","LastName","IDNumber","Message")
reader = csv.DictReader( csvfile, fieldnames)
out = json.dumps( [ row for row in reader ] )
jsonfile.write(out)
声明一些字段名,读取器使用 CSV 读取文件,并使用文件名将文件转储为 JSON 格式。问题是..。
CSV 文件中的每个记录位于不同的行上。我希望 JSON 输出也是这样。问题是它把所有的都扔在一个巨大的,长长的线上。
我试过使用类似于 for line in csvfile:
的代码,然后用 reader = csv.DictReader( line, fieldnames)
运行下面的代码,它循环遍历每一行,但是它在一行上循环整个文件,然后在另一行上循环遍历整个文件... ... 继续下去,直到没有行了。
Any suggestions for correcting this?
编辑: 澄清一下,目前我有: (第1行的每个记录)
[{"FirstName":"John","LastName":"Doe","IDNumber":"123","Message":"None"},{"FirstName":"George","LastName":"Washington","IDNumber":"001","Message":"Something"}]
我要找的: (2行2张唱片)
{"FirstName":"John","LastName":"Doe","IDNumber":"123","Message":"None"}
{"FirstName":"George","LastName":"Washington","IDNumber":"001","Message":"Something"}
不是每个字段在单独的行上缩进,而是每个记录在它自己的行上。
一些样本输入。
"John","Doe","001","Message1"
"George","Washington","002","Message2"