来自 API 的响应采用字典格式



我在使用 Pandas 将来自 rest API 的响应转换为 json 格式时遇到问题。这是我的代码:

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 格式的文本,但它作为字典进入我的代码,所以我无法使用 panda 的 .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

任何帮助将不胜感激。

您的请求不返回 Python 字典 -- 请求模块的.json()方法返回字典。如果您的响应采用 json 格式,并且您只想使用该字符串将其加载到 pandas 中,请使用response.text

最新更新