Вот мой код, очень простой материал...
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"