Как обратиться к указанным c элементам в словаре, используя Python - PullRequest
0 голосов
/ 04 мая 2020

Я работаю с API и, по сути, я стремлюсь извлечь список опросов и сохранить их в CSV-файле. Выходные данные, которые я получаю при извлечении списка опросов, имеют формат JSON, поэтому я думаю преобразовать их в фрейм данных Pandas, а затем экспортировать их в CSV будет просто. Когда я конвертирую вывод JSON, он преобразует его в словарь с несколькими элементами, но мне нужно только выделить один элемент - опросы.

Таким образом, словарь содержит 2 словарных элемента, один из которых называется «мета», а другой - «результат». Словарь «result» содержит список с названием «elements» (именно там, где мне нужна информация об опросе, все они хранятся в словарях) и «nextPage», который является элементом NoneType. Как мне просто извлечь информацию об опросе из списка «элементов»?

Мой код в настоящее время выглядит следующим образом:

apiToken = "n000000000"
dataCenter = "https://group.qualtrics.com"

baseUrl = "https://group.qualtrics.com/API/v3/surveys"
headers = {
    "x-api-token": apiToken,
    }

response = requests.get(baseUrl, headers=headers)
print(response.text)

surveys = response.text
surveys2 = json.loads(response.text)
df = pd.read_json (surveys2.result.elements)
df.to_csv('survey_list.csv', index=False)

1 Ответ

1 голос
/ 04 мая 2020

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

elements = surveys2['result']['elements']

В качестве альтернативы, когда вы не уверены, есть ли в поле dictory какое-либо поле, вы можете использовать оператор get с некоторым значением по умолчанию:

elements = surveys2['result'].get('elements', [])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...