Вывод запросов на API в формате JSON / Dictionary - PullRequest
0 голосов
/ 19 марта 2020

Я очень плохо знаком с API. Я пытаюсь получить ответ метода request.post в виде json файла или словаря. Я получаю status_code 200, так что я знаю, что есть успех, но когда я запускаю response.text, я возвращаю все в виде строки. Я прочитал части руководства по быстрому старту для запросов, но они, кажется, используют только .text для извлечения данных. Мой ожидаемый результат для этого конкретного API в идеале должен быть json файл или какой-то словарь, с которым я могу работать.

То, что у меня есть до сих пор (я понимаю, что это не полностью воспроизводимый пример, но я думаю, что он получает точка в другом месте, в противном случае обратитесь к здесь для некоторых примеров ):

import pandas as pd
import requests
response = requests.post(
    url = request_url
    ,headers = headers
    ,json = body
)
response.text # returns a string
response.json # returns a method
pd.json_normalize(response.text) #throws an error that pandas does not have this attribute (which it does, idk why not)
pd.read_json(response.text) #somewhat workable dataframe.

pd.read_json() куда-то ведет меня, но это объект в ячейке информационного кадра, который я чувствую вроде не маршрут к go вниз.

1 Ответ

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

На основе приведенного выше комментария Джона Гордона вы можете сделать следующее:

data = response.json()

Затем с помощью pandas .io. json import json_normalize вы также можете сделать

df = json_normalize(data)
* 1006. * Это преобразует ответ в pandas фрейм данных.
...