我对API非常陌生。我正在尝试以json文件或字典的形式获取requests.post方法的响应。我得到的status_code为200,所以我知道成功了,但是当我运行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()
带我到了某个地方,但它是数据帧单元中的一个对象,我觉得这不是下一步的路线。
发布于 2020-04-14 18:47:41
根据约翰·戈登上面的评论,您可以执行以下操作
data = response.json()
然后,使用从pandas.io.json导入json_normalize,您还可以执行以下操作
df = json_normalize(data)
这会将响应转换为pandas数据帧。
https://stackoverflow.com/questions/60760089
复制