单次POST上传双JSON文件转pandas.DataFrame时报list类型无效路径错误
解决方案
错误原因
pd.read_json()仅支持文件路径、JSON字符串、类文件对象作为入参,你调用json.load(f)后已经将整个JSON内容解析为Python原生数据结构,data["guccibag"]/data["dataprice"]都是已经解析完成的字典列表,不属于read_json支持的入参类型,因此触发类型错误。
本地读取合并JSON文件的修改代码
import pandas as pd import json df = pd.read_json("./api/guccibag.json") with open("./api/test.json", encoding="utf-8") as f: data = json.load(f) # 直接将已解析的字典列表传入DataFrame构造器即可 gcbag = pd.DataFrame(data["guccibag"]) gcdata = pd.DataFrame(data["dataprice"])
后端接收Postman POST请求的实现示例(以Flask为例)
你不需要调整当前Postman提交的JSON格式,仅需要调整后端接收逻辑即可:
from flask import Flask, request import pandas as pd app = Flask(__name__) @app.route("/upload", methods=["POST"]) def upload_double_json(): # 直接解析POST请求携带的JSON内容,得到Python字典 post_data = request.get_json() gcbag = pd.DataFrame(post_data["guccibag"]) gcdata = pd.DataFrame(post_data["dataprice"]) # 此处填写你的后续业务逻辑 return {"code": 200, "msg": "数据解析成功", "dataprice_count": len(gcdata)} if __name__ == "__main__": app.run(port=5000, debug=True)
Postman请求配置:
- 请求方法选POST,地址填后端接口地址
- Body选项卡选择
raw,格式下拉选JSON - 把你准备的JSON内容粘贴到输入框中发送即可
内容的提问来源于stack exchange,提问作者Tyler Kim
相关产品推荐
相关产品推荐

