Pandas读取Excel报Worksheet index 0 is invalid错误原因排查
报错根因说明
你遇到的ValueError: Worksheet index 0 is invalid, 0 worksheets found报错,本质是Pandas依赖的Excel底层解析引擎(默认根据文件后缀自动选择xlrd/openpyxl)对该文件的格式兼容性不足,没有识别到文件内的工作表:
- Excel客户端的文件容错性极强,哪怕文件元数据不符合Office官方规范,也会自动修正后正常加载,所以你可以正常打开查看内容
- 该文件是Google Sheets导出的版本,内置了部分非标准的自定义元数据,解析引擎识别时会忽略有效工作表的标记,才会出现0工作表的误判
可落地解决方案
按优先级尝试以下操作即可:
- 显式指定解析引擎和工作表参数,替换原有读取代码:
import pandas as pd df = pd.read_excel(FOLDER + 'omx30.xlsx', engine='openpyxl', sheet_name=0)
- 如果上述代码仍然报错,先手动确认引擎可识别的工作表列表,再指定对应名称读取:
from openpyxl import load_workbook # 先加载文件读取工作表列表 wb = load_workbook(FOLDER + 'omx30.xlsx') print(wb.sheetnames) # 用识别到的第一个工作表名称读取 df = pd.read_excel(FOLDER + 'omx30.xlsx', engine='openpyxl', sheet_name=wb.sheetnames[0])
- 若以上方案均无效,直接在Excel客户端打开该文件,选择「另存为」保存为新的xlsx格式文件,用新保存的文件读取即可,另存操作会自动清除Google Sheets添加的非标准元数据,完全适配解析引擎的规范要求。
内容的提问来源于stack exchange,提问作者Ivar Eriksson
相关产品推荐
相关产品推荐

