【问题标题】:Output of Requests for API in JSON/Dictionary format以 JSON/字典格式输出 API 请求
【发布时间】:2020-03-19 15:17:55
【问题描述】:

我对 API 很陌生。我正在尝试以 json 文件或字典的形式获取 requests.post 方法的响应。我得到一个 200 的 status_code,所以我知道成功了,但是当我运行 response.text 时,我将所有内容都作为字符串返回。我已经阅读了请求快速入门指南的部分内容,但它们似乎只使用 .text 来提取数据。我对这个特定 api 的预期输出理想情况下是一个 json 文件或我可以使用的一些字典。

到目前为止我所拥有的(我知道这不是一个完全可重复的示例,但我认为它可以理解这一点,否则请参阅here for some examples):

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() 将我带到某个地方,但它是数据框单元格中的一个对象,我觉得这不是继续下去的路线。

【问题讨论】:

  • response.json()(注意括号)将返回一个python dict。

标签: python api python-requests


【解决方案1】:

根据上面 John Gordon 的评论,您可以执行以下操作

data = response.json()

然后用 from pandas.io.json import json_normalize 你也可以这样做

df = json_normalize(data)

这会将响应转换为 pandas 数据框。

【讨论】:

    猜你喜欢
    • 2021-10-28
    • 2020-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多