使用 REST API JSON 响应作为数据在 Python 中构建报告

问题描述

我很难将来自 quickbase API 的 json 响应转换为 Pandas 数据帧,以便我可以使用 Pandas 和 Chartly 处理数据并绘制图表。

import requests
import json
token = "b5u67z_pgnr_dkqwwkbbmmhnzwcjd4cexbi893ux"
realm_hostname = "builderprogram-ypetrov.quickbase.com"
headers = {
    'QB-Realm-Hostname': realm_hostname,'User-Agent': 'Python_Reporting','Authorization': 'QB-USER-TOKEN ' + token
}
body = {
    "from": "bq4zh7zip","select": [
    7,11,16
    ]
}
r = requests.post(
'https://api.quickbase.com/v1/records/query',headers = headers,json = body
)
json_export = (json.dumps(r.json(),indent=4))
import pandas as pd
#everything works fine until here,I can print json_export and the data is there but can't continue from here onwards
pd.read_json(json_export)

API 请求详细信息在测试环境中有效,因此如果您需要,请随时使用它。
任何帮助将不胜感激!
问候!

解决方法

假设您想将 data 中的信息转换为 Pandas 数据帧,那么您可以使用 pd.read_json 代替 pd.json_normalize

...
# your code
...

import pandas as pd
df = pd.json_normalize(json.loads(json_export)['data'])
print(df.head())

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...