Ответ от API в формате словаря - PullRequest
0 голосов
/ 27 июня 2018

У меня проблема с получением ответа от остальных API в формате json с Pandas. Вот мой код:

import pandas as pd
import numpy as np
import requests
import json

headers = {
    'Authorization': 'Token token="mytoken"',
    'Content-Type': 'application/json',
    'Cache-Control': 'no-cache--url',
}

response = requests.get('https://www.someurl.com/api/path', headers=headers)
data = response.json()

Это моя проблема: всякий раз, когда я проверяю тип данных, который я получаю в ответ, он имеет формат словаря, например:

In[2]: type(data)
Out[2]: dict

Поскольку он возвращает текст в формате JSON, но входит в мой код в виде словаря, я не могу использовать команду pread .read_json (), потому что кажется, что он ожидает тип данных JSON. Всякий раз, когда я пытаюсь сделать это, он возвращает это:

In[3]: pd.read_json(data)
Out[3]: ValueError: Invalid file path or buffer object type: <class 'dict'>

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

Вот документация к используемому API:

https://documentation.joinhandshake.com/v1.0/reference#introduction

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 27 июня 2018

Ваш запрос не возвращает словарь Python - метод .json() модуля запросов возвращает словарь. Если ваш ответ в json, и вы просто хотите использовать строку для загрузки его в pandas, используйте response.text.

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