我在使用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
任何帮助将不胜感激。
答案 0 :(得分:0)
您的请求未返回Python字典-请求模块的.json()
方法将返回字典。如果您的响应位于json中,而您只想使用字符串将其加载到熊猫中,请使用response.text
。