Получение результатов из вложенного json с переменными ключами dict в python - PullRequest
0 голосов
/ 30 апреля 2020

Я хотел бы извлечь "date", "account", "extended_tweet" и "location" из вложенного json файла с переменными ключами dict от 1 до 500.

Как мне l oop с моим фрагментом кода через все 500 диктов в Python 3.8?

Я получаю только 500 раз такой же результат для первого диктата прямо сейчас.

data = json.load(json_data)
    json_data.close()

for i in list(range(0, 501)):
    date = data['1']['created_at']
    account = data['1']['user']['name']
    extended_tweet = data['1']['retweeted_status']['extended_tweet']['full_text']
    location = data['1']['user']['location']
    print(date, account, extended_tweet, location)

1 Ответ

0 голосов
/ 30 апреля 2020

Попробуйте:

for i in range(1, 501):
    date = data[str(i)]['created_at']
    account = data[str(i)]['user']['name']
    extended_tweet = data[str(i)]['retweeted_status']['extended_tweet']['full_text']
    location = data[str(i)]['user']['location']
    print(date, account, extended_tweet, location)

Ошибки в вашем коде:

  1. Вы просматривали диапазон, но не использовали счетчик l oop для получения точного ключ. Вы должны получить ключи '1', '2', ... для циклов, но каждый раз использовали один и тот же '1'.
  2. Вам нужно использовать range(1, 501) вместо того, что вы делали range(0, 501), который также будет пытаться получить ключ для '0'.
  3. Улучшение, а не ошибка: вы не понимаете не нужно использовать list(range()); Вместо этого вы можете напрямую использовать range() для зацикливания.
...