如何用Pandas读取旧版XLS格式文件?遇报错求解决
解决Pandas读取联合国汇率“XLS”文件的报错问题
问题根源
你下载的文件并非真正的旧版XLS二进制文件,而是制表符分隔的纯文本文件(TSV),只是被命名为.xls后缀。xlrd引擎仅支持二进制格式的XLS文件,因此无法识别该文本内容,抛出XLRDError。
解决方案
方法1:直接按文本格式读取(推荐)
使用pd.read_csv指定制表符分隔符,跳过无效表头行:
import pandas as pd # 路径用原始字符串避免转义问题 df = pd.read_csv(r'D:\000_DOWNLOAD\downloaded.xls', sep='\t', skiprows=1, encoding='utf-8') print(df.head())
方法2:修改文件后缀后读取
将文件后缀从.xls改为.tsv,再用相同方式读取:
df = pd.read_csv(r'D:\000_DOWNLOAD\downloaded.tsv', sep='\t', skiprows=1, encoding='utf-8')
验证方式
可以用记事本或任意文本编辑器打开该文件,能直接看到以制表符分隔的文本内容,这也能确认文件本质是文本格式而非二进制XLS。
内容的提问来源于stack exchange,提问作者TimB
相关产品推荐
相关产品推荐

