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

Python3.5下Pandas低版本无read_excel属性及升级问题求助

解决Python3.5环境下的Pandas相关问题

咱们一步步来拆解你遇到的两个问题,帮你找到合适的解决方案:

一、pd.read_excel()报错的原因及修复

你在Pandas 0.25或0.18版本里用pd.read_excel()触发AttributeError,是因为在这些旧版本中,read_excel并不是Pandas顶层模块的方法,它藏在pd.io.excel子模块里。

你可以用两种方式修复这个问题:

  • 方式1:直接从子模块导入方法
    from pandas.io.excel import read_excel
    excel_data_df = read_excel(workbook, engine='xlrd')
    
  • 方式2:通过子模块路径调用
    excel_data_df = pd.io.excel.read_excel(workbook, engine='xlrd')
    

而Pandas 1.0+版本把这个方法移到了顶层模块,所以你在新版本里能直接用pd.read_excel(),这就是为什么新版本能正常运行的原因。

二、Python3.5无法升级到Pandas1.0.3的原因及可行方案

你猜的完全正确!Pandas 1.0.0及以上版本已经放弃了对Python3.5的支持,因为新版本大量使用了Python3.6才引入的f-string语法,所以在Python3.5环境下安装必然会触发语法错误。

如果你必须保留Python3.5环境,有两个靠谱的解决方案:

  1. 安装Pandas支持Python3.5的最高版本
    Pandas最后一个兼容Python3.5的版本是0.25.3,你可以指定版本安装:

    pip install pandas==0.25.3
    

    这个版本不仅能解决你读取Excel的问题,也能支持大部分Excel样式设置的功能,足够满足你的需求。

  2. 用xlrd直接读取再转成DataFrame
    如果你偶尔需要某些新功能,但又不想动Python版本,也可以绕开Pandas的read_excel,直接用xlrd读取文件再转换成DataFrame:

    import xlrd
    import pandas as pd
    
    # 打开Excel文件
    workbook = xlrd.open_workbook("你的文件路径.xlsx")
    # 获取第一个工作表
    sheet = workbook.sheet_by_index(0)
    # 读取所有行数据
    data = [sheet.row_values(i) for i in range(sheet.nrows)]
    # 转成DataFrame,第一行作为列名
    df = pd.DataFrame(data[1:], columns=data[0])
    

额外小建议

如果你的项目没有强制要求保留Python3.5,我建议你升级Python到3.6及以上版本(Ubuntu16.04可以通过pyenv或者官方ppa安装多版本Python),这样就能正常使用Pandas的最新版本,享受更多功能和bug修复啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 14:37:53