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

pandas+openpyxl读取xlsx报KeyError:无xl/sharedStrings.xml问题咨询

问题成因

该报错由openpyxl引擎的兼容缺陷导致。xlsx本质是zip格式的压缩包,遵循OOXML开放文档标准:当文件内不存在任何字符串类型的单元格内容时,打包过程可以省略xl/sharedStrings.xml这个存储共享字符串的文件,Excel客户端原生支持这种符合标准的文件结构,但部分旧版本openpyxl读取文件时不会预先判断该文件是否存在,会强制从压缩包中读取该文件,找不到时就直接抛出对应KeyError。

解决方法
  • 方案一(推荐,适配自动刷新场景):升级openpyxl到最新修复版本,新版本已经补上了该场景的兼容判断。执行以下命令完成升级:
    pip install --upgrade openpyxl
    升级后原有读取代码无需任何修改,即可正常读取无字符串内容的xlsx文件,完全适配定时自动刷新的需求。
  • 方案二(无法升级openpyxl时选用):切换pandas读取xlsx的解析引擎为calamine,该引擎对各类边缘格式的xlsx兼容度更高。首先安装依赖包:
    pip install python-calamine
    之后修改读取代码的engine参数即可:
import pandas
globaltrackerdf = pandas.read_excel(
    r'C:\Users\Documents\Trackers\Tracker-Global Tracker_V2-2022-06-13.xlsx',
    sheet_name="Sheet1",
    engine="calamine"
)
  • 方案三(临时应急用):手动打开目标Excel文件,在任意空白单元格输入任意字符(比如单个.)后保存,文件会自动生成缺失的xl/sharedStrings.xml文件,此时用原有代码即可正常读取。该方案需要手动修改源文件,不适合无人值守的定期自动刷新场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 16:34:47