Как преобразовать файл CSV в многострочный JSON?Python

Программы на Python
Ответить
Anonymous
 Как преобразовать файл CSV в многострочный JSON?

Сообщение Anonymous »

Вот мой код, очень простой материал...

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 в csvfile:, а затем запускал свой код ниже этого с помощью read = 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"


Подробнее здесь: https://stackoverflow.com/questions/196 ... iline-json
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»