Как сделать чтобы возвращался список но каждый словарь был на новой строке?
def get_cats_info(path):
b = []
data = {'id': '1245', 'name': 'dsdfs', 'age': 'adasd'}
with open(path) as file:
for line in file:
line = line.split(',')
line[-1] = line[-1].strip()
data = {'id': line[0], 'name': line[1], 'age': line[2]}
line = data
b.append(line)
return b
Как сделать чтобы возвращался список но каждый словарь был на новой строке?
[
{"id": "60b90c1c13067a15887e1ae1", "name": "Tayson", "age": "3"},
{"id": "60b90c2413067a15887e1ae2", "name": "Vika", "age": "1"},
{"id": "60b90c2e13067a15887e1ae3", "name": "Barsik", "age": "2"},
{"id": "60b90c3b13067a15887e1ae4", "name": "Simon", "age": "12"},
{"id": "60b90c4613067a15887e1ae5", "name": "Tessi", "age": "5"},
]
вот так должно выводить,а у меня все в одну строку
[{'id': '60b90c1c13067a15887e1ae1', 'name': 'Tayson', 'age': '3'}, {'id': '60b90c2413067a15887e1ae2', 'name': 'Vika', 'age': '1'}, {'id': '60b90c2e13067a15887e1ae3', 'name': 'Barsik', 'age': '2'}, {'id': '60b90c3b13067a15887e1ae4', 'name': 'Simon', 'age': '12'}, {'id': '60b90c4613067a15887e1ae5', 'name': 'Tessi', 'age': '5'}]
Ответы (2 шт):
Чтобы увидеть такой вывод можно сделать так (a - результат вызова функции):
print('[', *a, sep='\n\t')
print(']')
Это вопрос отображения данных, внутренне они у вас правильно сформированы. А напечатать их можно по-разному, например, так:
import pprint
data = [{'id': '60b90c1c13067a15887e1ae1', 'name': 'Tayson', 'age': '3'}, {'id': '60b90c2413067a15887e1ae2', 'name': 'Vika', 'age': '1'}, {'id': '60b90c2e13067a15887e1ae3', 'name': 'Barsik', 'age': '2'}, {'id': '60b90c3b13067a15887e1ae4', 'name': 'Simon', 'age': '12'}, {'id': '60b90c4613067a15887e1ae5', 'name': 'Tessi', 'age': '5'}]
pprint.pprint(data)
Вывод:
[{'age': '3', 'id': '60b90c1c13067a15887e1ae1', 'name': 'Tayson'},
{'age': '1', 'id': '60b90c2413067a15887e1ae2', 'name': 'Vika'},
{'age': '2', 'id': '60b90c2e13067a15887e1ae3', 'name': 'Barsik'},
{'age': '12', 'id': '60b90c3b13067a15887e1ae4', 'name': 'Simon'},
{'age': '5', 'id': '60b90c4613067a15887e1ae5', 'name': 'Tessi'}]
Как видите, в переменную я положил данные так, как вам не нравится что они показываются, а при этом напечатались они примерно так, как вы хотели. С точки зрения внутреннего представления данных Питона это одни и те же данные.
Если сделать наоборот - присвоить то, что я выше напечатал, в переменную, и потом вывести с помощью стандартного print, то получится опять в одну строку всё:
data1 = \
[{'age': '3', 'id': '60b90c1c13067a15887e1ae1', 'name': 'Tayson'},
{'age': '1', 'id': '60b90c2413067a15887e1ae2', 'name': 'Vika'},
{'age': '2', 'id': '60b90c2e13067a15887e1ae3', 'name': 'Barsik'},
{'age': '12', 'id': '60b90c3b13067a15887e1ae4', 'name': 'Simon'},
{'age': '5', 'id': '60b90c4613067a15887e1ae5', 'name': 'Tessi'}]
print(data1)
Вывод:
[{'age': '3', 'id': '60b90c1c13067a15887e1ae1', 'name': 'Tayson'}, {'age': '1', 'id': '60b90c2413067a15887e1ae2', 'name': 'Vika'}, {'age': '2', 'id': '60b90c2e13067a15887e1ae3', 'name': 'Barsik'}, {'age': '12', 'id': '60b90c3b13067a15887e1ae4', 'name': 'Simon'}, {'age': '5', 'id': '60b90c4613067a15887e1ae5', 'name': 'Tessi'}]
Данные одинаковые, а их "человеческое" представление может быть различным.