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

使用Pandas读取xlsx文件遇报错,如何手动指定引擎?

解决pandas读取Excel文件格式无法识别的问题
  • 检查文件有效性
    先确认文件本身是正常的xlsx格式:尝试用Excel直接打开文件,如果打不开,说明文件损坏、后缀名被错误修改(比如实际是CSV/TXT却改成xlsx),需要重新获取正确的文件。

  • 尝试其他读取引擎
    除了openpyxl,可尝试以下引擎:

    • 若文件是xls格式,使用xlrd引擎(注意xlrd 2.0+版本不支持xlsx,需安装旧版本:pip install xlrd==1.2.0),代码示例:
      data = pd.read_excel('../Desktop/dirtydata.xlsx', header=None, engine='xlrd')
      
    • 若文件实际是xlsb格式,使用pyxlsb引擎(需先安装:pip install pyxlsb),代码示例:
      data = pd.read_excel('../Desktop/dirtydata.xlsx', header=None, engine='pyxlsb')
      
  • 改用绝对路径读取
    相对路径../Desktop/dirtydata.xlsx可能因当前工作目录不符导致读取错误,换成绝对路径试试:

    • Mac/Linux示例:
      data = pd.read_excel('/Users/你的用户名/Desktop/dirtydata.xlsx', header=None, engine='openpyxl')
      
    • Windows示例:
      data = pd.read_excel('C:/Users/你的用户名/Desktop/dirtydata.xlsx', header=None, engine='openpyxl')
      
  • 检查文件状态与权限

    • 确保文件未被其他程序占用(比如Excel正在打开该文件),关闭占用程序后再尝试读取。
    • 确认当前程序有读取该文件的权限,若文件设置为只读或权限受限,调整权限后重试。
  • 重装相关依赖库
    可能pandas或openpyxl版本异常,卸载后重装:

    pip uninstall openpyxl pandas -y
    pip install openpyxl pandas
    
  • 直接用openpyxl测试读取
    绕过pandas,用openpyxl直接读取文件,排查是否是pandas的问题:

    from openpyxl import load_workbook
    wb = load_workbook('../Desktop/dirtydata.xlsx')
    sheet = wb.active
    print([cell.value for cell in sheet[1]])
    

    如果这段代码也报错,说明问题出在文件本身,而非pandas配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 18:22:42