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

使用pandas.read_excel读取xlsx文件失败,仅出现样式警告

问题描述

使用pandas读取常规格式的.xlsx文件时读取失败,无报错信息,仅收到以下警告:

UserWarning: Workbook contains no default style, apply openpyxl's default
warn("Workbook contains no default style, apply openpyxl's default")

已尝试指定engine='openpyxl'、指定工作表名称,均无法解决问题。执行代码如下:

df = pd.read_excel('data/RESULT_LIST_ANONYM_ENERGY_MARKET_aFRR_2021-12-01_2021-12-31.xlsx')

依赖包版本:

  • pandas: 1.5.0
  • openpyxl: 3.0.10
解决方案
  1. 确认是否真的读取失败
    执行代码后打印df或df.shape,查看是否有数据。该警告仅和文件样式缺失有关,大概率不影响数据读取,可能是你误以为读取失败。

  2. 过滤样式警告(若无需关注样式)
    如果确认数据已读取成功,只是想消除警告,可以用warnings模块过滤:

    import warnings
    warnings.filterwarnings('ignore', category=UserWarning, module='openpyxl')
    df = pd.read_excel('data/RESULT_LIST_ANONYM_ENERGY_MARKET_aFRR_2021-12-01_2021-12-31.xlsx', engine='openpyxl')
    
  3. 检查文件本身状态

    • 用Excel或WPS打开文件,确认文件未损坏、数据存在且无隐藏内容
    • 检查工作表名称是否正确(注意大小写、空格),可以用以下代码列出所有工作表名:
      from openpyxl import load_workbook
      wb = load_workbook('data/RESULT_LIST_ANONYM_ENERGY_MARKET_aFRR_2021-12-01_2021-12-31.xlsx')
      print(wb.sheetnames)
      
  4. 尝试其他读取引擎

    • 若安装了xlrd(需版本<2.0,因为2.0+仅支持.xls格式),指定engine='xlrd'尝试读取
    • 安装pyxlsb库,使用engine='pyxlsb'读取:
      # 先安装:pip install pyxlsb
      df = pd.read_excel('data/RESULT_LIST_ANONYM_ENERGY_MARKET_aFRR_2021-12-01_2021-12-31.xlsx', engine='pyxlsb')
      
  5. 明确指定读取参数
    若文件表头或数据区域特殊,尝试指定header、usecols、skiprows等参数:

    # 示例:指定第1行为表头,读取A到F列
    df = pd.read_excel('data/RESULT_LIST_ANONYM_ENERGY_MARKET_aFRR_2021-12-01_2021-12-31.xlsx', engine='openpyxl', header=0, usecols='A:F')
    
  6. 升级依赖包版本
    旧版本pandas和openpyxl可能存在兼容bug,升级到较新版本试试:

    pip install --upgrade pandas openpyxl
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 16:40:55