Как извлечь ключи и значения из файла нескольких словарей? - PullRequest
0 голосов
/ 03 декабря 2018

У меня есть файл, который содержит несколько словарей, таким образом, newfile = {"votes": {"funny": 0, "useful": 5, "cool": 2}, "user_id": "rLtl8ZkDX5vH5nAx9C3q5Q", "review_id": "fWKvX83p0-ka4JS3dc6E5A", "stars": 5, "date": "2011-01-26"} {"votes": {"funny": 0, "useful": 0, "cool": 0}, "user_id": "0a2KyEL0d3Yb1V6aivbIuQ", "review_id": "IjZ33sJrzXqU-0X6U8NwyA", "stars": 5, "date": "2011-07-27"} Этот файл хранится на моем диске, мне нужно читать каждую запись построчно из файла и хочу напечатать значения для каждого ключа, такие как,

print newfile['votes'] = {"funny": 0, "useful": 5, "cool": 2} for first line
print newfile['votes'] = {"funny": 0, "useful": 0, "cool": 0} for second line

1 Ответ

0 голосов
/ 03 декабря 2018

Сначала прочитайте файл построчно, например, здесь: https://stackoverflow.com/a/3277512/141789

Затем проанализируйте текст как строки json (при условии, что отдельные строки имеют допустимый формат json, если проблема не сталанамного сложнее).

import json
dicts = []
for line in array:
    dicts.append(json.loads(line))

Если весь файл в формате json, это намного проще.В этом случае это будет выглядеть как [{...},{...}].Т.е. словари заключены в квадратные скобки (список словарей) и разделены запятой.

Просто найдите «read from json», и вы найдете множество примеров того, как это можно прочитать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...