以下是对你截图中几个 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 软件。