使用Python Pandas读取Excel文件时遭遇MSAT扩展错误求助
解决Pandas读取Excel时的xlrd.compdoc.CompDocError错误
这个错误是由于Excel文件内部结构损坏导致的——xlrd解析文件的MSAT(主短分配表)时,试图访问一个不存在的扇区,说明文件大概率在保存、传输过程中出现了异常。
以下是可行的解决办法:
- 修复损坏的Excel文件
打开报错的Excel文件,通过「文件」->「另存为」重新保存(更换路径或文件名),用新生成的文件尝试读取。如果文件无法正常打开,可使用Excel的「打开并修复」功能:启动Excel后点击「浏览」选中目标文件,点击打开按钮旁的下拉箭头,选择「打开并修复」。 - 更换Excel读取引擎
xlrd对损坏文件的兼容性较差,可换用其他库读取:- 针对
.xlsx格式,使用openpyxl:import pandas as pd df = pd.read_excel("your_file.xlsx", engine="openpyxl") - 针对
.xls格式,使用pyxlsb:import pandas as pd df = pd.read_excel("your_file.xls", engine="pyxlsb")
- 针对
- 验证文件完整性
确认文件在下载或传输过程中没有中断,重新获取完整的文件后再尝试读取。
内容的提问来源于stack exchange,提问作者Ateeb Shaikh
相关产品推荐
相关产品推荐

