You need to enable JavaScript to run this app. 使用pandas导入URL返回的gzip压缩CSV时出现循环导入及read_json缺失报错
优惠活动
大模型
产品
解决方案
定价
更多

使用pandas导入URL返回的gzip压缩CSV时出现循环导入及read_json缺失报错

报错原因及解决方法

你遇到的AttributeError: partially initialized module 'pandas' has no attribute 'read_json'报错,和传入的读取参数无关,本质是Python导入pandas模块时出现了循环导入冲突,按以下顺序排查即可解决:

  • 检查本地运行的Python脚本文件名,绝对不要命名为pandas.py、json.py这类和Python标准库、pandas依赖重名的名称——这种命名会让Python优先加载你写的本地文件,而非真实的pandas第三方模块,直接导致模块初始化中断。排查到这类命名问题后,把脚本改成无冲突的名称,同时删除同目录下__pycache__缓存文件夹内的同名临时文件即可。
  • 如果文件名无冲突,检查pandas的安装完整性:在终端执行pip uninstall pandas卸载损坏的安装包,重新执行pip install pandas openpyxl完成干净安装,解决安装文件缺失导致的模块初始化失败问题。
  • 检查项目内的自定义模块导入链路,删除无意义的反向导入逻辑,避免形成“当前脚本导入自定义模块、自定义模块又反向导入当前脚本”的导入闭环。
gzip压缩CSV数据源的正确读取实现

你当前使用pd.read_json读取这个接口本身就存在方法不匹配的问题——该接口返回的是gzip压缩格式的CSV,并非JSON格式数据,pandas原生支持直接读取网络侧的gzip压缩CSV流,不需要手动解压:

  • 用pd.read_csv替换原有的pd.read_json方法,pandas会自动识别响应头的gzip压缩标识完成流数据解压解析。
  • 导出Excel时必须安装openpyxl写入引擎,否则df.to_excel()会报缺少依赖的错误。

可直接运行的完整代码如下:

import pandas as pd

url = "https://api.kite.trade/instruments"
# 自动识别网络gzip流的压缩格式,直接解析为DataFrame
df = pd.read_csv(url, compression="gzip")
# 导出Excel,关闭自动生成的索引列写入,指定openpyxl作为写入引擎
df.to_excel("kite_instruments.xlsx", index=False, engine="openpyxl")
print("Program executed successfully")

运行优化提示

  • 网络不稳定时可在读取参数里增加超时配置,避免因请求超时中断流程:pd.read_csv(url, compression="gzip", storage_options={"timeout": 30})
  • 不需要额外把接口返回的二进制数据先存为本地gzip文件再读取,pandas直接支持内存流解析,可减少不必要的磁盘IO开销。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.25 01:15:03