расшифровка json-словаря с помощью python

Ive получил скрипт, написанный для получения данных из API, и вернул его, но теперь мне нужно проанализировать эти данные, это пример того, как выглядят данные json, с некоторыми значениями словаря, которые я ищу.

{'results': [{'icpsr_id': 21133, 'twitter_id': 'RepToddYoung', 'thomas_id': '02019', 'term_end': '2017-01-03', 'office': '1007 Longworth House Office Building', 'gender': 'M', 'phone': '202-225-5315', 

это код, который я написал, чтобы вытащить, и проанализировать файл данных json. может ли кто-нибудь сказать мне, что с ним не так? Я все еще возвращаю полное значение из словаря «results», имея в виду, что это похоже на то, что код ничего не сделал, я все равно получаю полный словарь, он не анализируется, а не ТОЛЬКО «twitter_id» и «office»,

 import requests import json def call(): payload = {'apikey':'my_apikey', 'zip':'74120'} bas_url = 'http://openstates.org/api/v1//legislators/?state=ok' r = requests.get(bas_url, params = payload) grab = r.json() return grab jsonResponse=json.loads(decoded_response) jsonData = jsonResponse["results"] for item in jsonData: chamber = item.get("twitter_id") last_name = item.get("office") 

2 Solutions collect form web for “расшифровка json-словаря с помощью python”

Похоже, вы хотите что-то вроде этого:

 def call(): payload = {'apikey':'my_apikey', 'zip':'74120'} bas_url = 'http://openstates.org/api/v1//legislators/?state=ok' r = requests.get(bas_url, params = payload) grab = r.json() jsonData = grab["results"] return [{key: value for key, value in result.items() if key in ("twitter_id", "office")} for result in jsonData] 

Хорошо, глядя на онлайн-документы для модуля запросов, я вижу, что вызов r.json() выполнит разбор JSON для вас и вернет вам питон-питон. Вещь, которую вы публикуете, является выходом этого dict, поэтому часть JSON уже позаботилась о вас.

Этот код должен работать как на Python 2, так и на Python 3, как только вы извлекли данные в json_response, используя json_response = r.json() :

 extracted_values = [] json_data = json_response['results'] for item in json_data: subitem_dict = {} for key in 'twitter_id office'.split(): subitem_dict[key] = item.get(key) # will give None if key does not exist extracted_values.append(subitem_dict) print(extracted_values) 

печатает:

 [{'twitter_id': 'RepToddYoung', 'office': '1007 Longworth House Office Building'}, {'twitter_id': 'SenDonnelly', 'office': '720 Hart Senate Office Building'}, {'twitter_id': 'SenDanCoats', 'office': '493 Russell Senate Office Building'}] 
  • NLTK Chart Parser не печатает
  • Как вы извлекаете URL-адреса канала из файла OPML, экспортированного из Google Reader?
  • Python: парсер аргументов, который правильно обрабатывает глобальные параметры для под-команд
  • Получить документ DOCTYPE с помощью BeautifulSoup
  • разбор недопустимого тега привязки с помощью BeautifulSoup или Regex
  • Функция Python для списка xml
  • разбор URL-адреса в python с изменением его части
  • Python + Expat: Error on & # 0; юридические лица
  •  
    Interesting Posts for Van-Lav

    Создание новых переменных в цикле с именами из списка в Python

    Инициализация модульного теста в PyDev?

    Преобразование pandas.DataFrame в байты

    Почему некоторые запросы ORM Django внезапно заканчиваются сообщением «Killed»?

    Элегантная настройка ведения журнала Python в Django

    Когда нужно разделить код на файлы / модули?

    Неудачная агрегация на торнадо / двигателе: дал неизвестный объект MotorAggregationCursor

    что означает представление% (xyz) s в python

    Python / Numba: Неизвестная ошибка атрибута с помощью scipy.special.gammainc ()

    Как получить имена коэффициентов после кодировки ярлыков и одну горячую кодировку на scikit-learn?

    Какой пакет Eclipse можно скачать для pydev?

    Чтение из базы данных с помощью SQLite и Python: неверное количество привязок

    django templates: как расширить переменную в аргументе string для встроенного тега `url`

    Численная сумма между парами индексов в массиве 2d

    python из списка кортежей, получить кортеж, ближайший к заданному значению

    Python - лучший язык программирования в мире.