Python json.dumps() выводит все мои данные в одну строку, но я хочу иметь новую строку для каждой записи.Python

Программы на Python
Ответить
Anonymous
 Python json.dumps() выводит все мои данные в одну строку, но я хочу иметь новую строку для каждой записи.

Сообщение Anonymous »

Я работаю с Python и некоторыми данными в формате JSON. Я просматриваю свои данные (все это словари), и когда я печатаю значения цикла на консоль, я получаю по одному словарю на строку.
Однако, когда я выполняю ту же строку кода с помощью json.dumps(), чтобы преобразовать мой объект в строку для вывода, я получаю несколько строк в словаре, а не хочу новую строку вне словаря.
Как добавить новые строки после каждого значения словаря, когда цикл?
Пример кода:

Код: Выделить всё

    def test(values, filename):
with open(filename, 'w') as f:
for value in values:
print(json.dumps(value, sort_keys=True)) # gives me each dictionary in a new line
f.write(json.dumps(value, sort_keys=True, indent=0) #gives me a new line for each key/value pair instead of after each dictionary.
Вывод в консоль:

Код: Выделить всё

{"first_name": "John", "last_name": "Smith", "food": "corn"}
{"first_name": "Jane", "last_name": "Doe", "food": "soup"}
Вывод в моем выходном файле:

Код: Выделить всё

{"first_name": "John", "last_name": "Smith", "food": "corn"}{"first_name": "Jane", "last_name": "Doe", "food": "soup"}
Какой код мне не хватает, чтобы получить новую строку для каждого значения словаря, чтобы мой выходной файл выглядел так же, как моя консоль?

Подробнее здесь: https://stackoverflow.com/questions/647 ... ve-a-new-l
Ответить

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

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

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

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

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