You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python从JSON创建DataFrame报错:Invalid file path or buffer object type

问题解决方案

错误原因

pd.read_json()的参数要求是JSON格式字符串、文件路径或文件对象,但你已经通过json.loads(response.text)把响应文本解析成了Python字典(<class 'dict'>),将字典传入read_json()就会触发类型不匹配的报错。

解决方法

直接将解析后的Python字典传入pd.DataFrame()构造函数即可,无需使用pd.read_json()。提供两种实现方式:

方式一:使用requests内置的JSON解析方法

import pandas as pd
import requests

response = requests.get('https://kp.gfz-potsdam.de/app/json/?start=2024-01-01T00%3A00%3A00Z&end=2024-04-21T23%3A59%3A59Z&index=Kp&status=def#kpdatadownload-143')
response_json = response.json()  # 直接解析响应为字典
df = pd.DataFrame(response_json)
print(df)

方式二:保留json.loads的写法

import pandas as pd
import requests
import json

response = requests.get('https://kp.gfz-potsdam.de/app/json/?start=2024-01-01T00%3A00%3A00Z&end=2024-04-21T23%3A59%3A59Z&index=Kp&status=def#kpdatadownload-143')
response_json = json.loads(response.text)
df = pd.DataFrame(response_json)  # 用字典直接构造DataFrame
print(df)

补充说明

如果返回的JSON数据是嵌套结构(比如数据嵌套在某个键下,例如{"data": [{}, {}]}),需要针对具体结构调整,比如提取对应键的值再构造DataFrame:

df = pd.DataFrame(response_json["data"])

内容的提问来源于stack exchange,提问作者user24012260

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 11:52:47