如何将API返回的JSON响应转换为仅含业务数据的pandas DataFrame
解决方案
你拿到的接口返回JSON里实际业务数据全部存在rows字段中,外层的skip、take是分页参数,不需要解析进结果表,直接提取rows字段构造DataFrame即可,参考实现如下:
import json import pandas as pd # 先将接口返回的文本解析为Python字典 response_data = json.loads(r.text) # 仅提取rows字段中的数组构造DataFrame df = pd.DataFrame(response_data["rows"]) print(df)
如果不想额外导入json模块,也可以直接用pandas处理:
import pandas as pd df = pd.read_json(r.text)["rows"].apply(pd.Series) print(df)
如果需要严格限定返回的字段,避免rows中出现多余字段污染结果,可以在构造DataFrame时指定columns参数:
df = pd.DataFrame( response_data["rows"], columns=["Onderwerp", "Type_dossieritem", "Persoonsnummer", "Inkooprelatie"] )
内容的提问来源于stack exchange,提问作者Tim van Beek
相关产品推荐
相关产品推荐

