使用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')
- 若文件是xls格式,使用
改用绝对路径读取
相对路径../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')
- Mac/Linux示例:
检查文件状态与权限
- 确保文件未被其他程序占用(比如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
相关产品推荐
相关产品推荐

