以下是对你截图中几个 Excel 处理相关 Python 库的对比总结(openpyxl
、xlrd
、xlwt
、xlutils
、xlwings
):
库名称 | 支持文件格式 | 主要用途 | 读写能力 | 是否支持公式 | 是否支持图表 | 是否依赖Excel软件 | 特点说明 |
openpyxl | .xlsx (Excel 2007+) | 读写现代Excel文件 | 读 + 写 | ✅ | ✅ | ❌ | 支持样式、合并单元格、图表、图片、数据验证等 |
xlutils | .xls | 复制/修改已有.xls 文件 | 读 + 写(结合xlrd/xlwt) | ❌ | ❌ | ❌ | 基于xlrd 和xlwt 封装的工具包 |
xlwings | .xlsx /.xls (依赖本地Excel) | 操控本地Excel软件 | 读 + 写 | ✅(完整支持) | ✅(完整支持) | ✅(必须安装Excel) | 可执行宏,支持双向数据交互,适合Excel自动化场景 |
xlwt | .xls | 写旧版Excel文件 | 仅写 | ❌ | ❌ | ❌ | 搭配xlrd 使用;不支持.xlsx |
xlrd | .xls (Excel 97-2003).xlsx (<=v1.2.0) | 只读旧版Excel文件 | 仅读 | ❌ | ❌ | ❌ | v2.0后仅支持.xls ,已不再支持.xlsx |
使用建议:
为了在处理 Excel 文件时保持专业性并统一操作,建议遵循以下规范:
统一文件格式:避免在项目中共存 .xls
和 .xlsx
两种格式。
根据现有格式选择库:
混合格式处理策略:
- 如果原始数据既有
.xls
也有 .xlsx
格式,且允许修改文件格式,则将 .xls
文件转换为 .xlsx
格式,然后统一使用 openpyxl
库处理。
- 如果禁止修改文件格式,作为最后的选择,考虑使用
xlwings
库,因为它同时支持 .xls
和 .xlsx
格式。但请注意,xlwings
依赖于本地安装的 Excel 软件。