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

原正常运行的Pandas read_json脚本现报TypeError,如何排查?

问题排查与解决方法

错误直接原因

pd.read_json() 要求传入文件路径、文件对象或字符串,但你当前传入的是bytes类型(URLresponse.content返回字节数据),这就是触发TypeError的核心原因。

排查与修复步骤

  • 先确认接口请求状态与返回内容

    • 打印URLresponse.status_code,确认请求是否成功(正常应为200)。如果是4xx/5xx状态码,说明接口调用失败,返回的可能是错误页面(如HTML)而非预期JSON。
    • 打印URLresponse.text,检查返回内容是否为合法JSON格式。若返回非JSON内容,需排查接口端是否有变更。
  • 修正数据类型适配问题
    以下三种方法任选其一即可:

    1. 使用response.text获取字符串格式响应:
      rawdata = URLresponse.text
      df = pd.read_json(rawdata)
      
    2. 直接用requests内置的json()方法解析响应,再转DataFrame(更高效):
      rawdata = URLresponse.json()
      df = pd.DataFrame(rawdata)
      
    3. 将字节数据解码为字符串(需确保编码与接口返回一致,通常为utf-8):
      rawdata = URLresponse.content.decode('utf-8')
      df = pd.read_json(rawdata)
      
  • 验证JSON结构兼容性
    若接口返回的JSON结构发生变更(比如从数组变为嵌套字典),即使是合法JSON,pd.read_json()也可能解析失败。此时需打印rawdata查看结构,调整DataFrame的生成逻辑(比如针对嵌套结构使用pd.json_normalize())。

  • 检查依赖版本变化
    若此前正常运行,近期更新过pandas或requests,可能存在版本兼容性问题。可通过print(pd.__version__)查看当前版本,对比之前的稳定版本,必要时回退到兼容版本。

内容的提问来源于stack exchange,提问作者opperman.eric

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 03:34:57