API的响应采用字典格式

时间:2018-06-27 18:03:35

标签: python json pandas api dictionary

我在使用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

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您的请求未返回Python字典-请求模块的.json()方法将返回字典。如果您的响应位于json中,而您只想使用字符串将其加载到熊猫中,请使用response.text