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

如何用Pandas打开并转换Windows 97-2003格式的XLS文件?

解决方案:将Windows 97-2003格式XLS转换为XLSX

核心问题排查与修复步骤

1. 路径转义错误

你的路径字符串中,Windows反斜杠\会被Python识别为转义字符(比如\v会解析为垂直制表符),导致路径无法正确识别。解决方式二选一:

  • 使用原始字符串:在路径前加r前缀
  • 用双反斜杠\\替代单反斜杠

示例:

path = r"G:\documents\vscode\company\test.XLS"
# 或者
path = "G:\\documents\\vscode\\company\\test.XLS"

2. xlrd版本兼容性问题

xlrd 2.0及以上版本不再支持读取XLS格式文件(仅支持XLSX),如果你的xlrd版本是2.0+,会直接报错。解决方法:

pip install xlrd==1.2.0

3. 缺少保存为XLSX的关键步骤

你的代码仅完成了XLS文件的读取,没有执行转换保存操作。完整转换流程需要调用to_excel()方法:

完整可运行代码:

import pandas as pd

# 修复后的路径
input_path = r"G:\documents\vscode\company\test.XLS"
output_path = r"G:\documents\vscode\company\test_converted.xlsx"

# 读取XLS文件(确保xlrd版本为1.2.0)
df = pd.read_excel(input_path, engine='xlrd')
# 保存为XLSX格式,index=False避免导出索引列
df.to_excel(output_path, index=False)

4. 复杂格式文件的备选方案

如果你的XLS文件包含宏、公式或复杂排版,Pandas可能会丢失格式,此时可以直接调用本地Excel软件进行转换(需安装Microsoft Excel):

import win32com.client as win32

excel = win32.gencache.EnsureDispatch('Excel.Application')
# 打开原文件
wb = excel.Workbooks.Open(r"G:\documents\vscode\company\test.XLS")
# 51对应XLSX格式编码
wb.SaveAs(r"G:\documents\vscode\company\test_converted.xlsx", FileFormat=51)
wb.Close()
excel.Quit()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 05:50:25