Как преобразовать файл CSV в многострочный JSON?
Вот мой код, очень простые вещи ...
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)
которая проходит по каждой строке, но выполняет весь файл в одной строке, затем проходит по всему файлу в другой строке ... продолжается до тех пор, пока не закончится строка.
Любые предложения по исправлению этого?
Изменить: чтобы уточнить, в настоящее время у меня есть: (каждая запись в строке 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"