Python 读写 Excel 文件-2 (openpyxl 进阶)
Python 读写 Excel 文件(进阶篇)
1. openpyxl 简介:现代办公自动化的首选
在上一章中,我们学习了处理旧版 .xls 文件的工具。而对于现代标准的 .xlsx 文件,openpyxl 是目前 Python 生态中最流行、功能最全的库。
与 xlrd/xlwt 组合相比,openpyxl 具有显著优势:
- 读写合一:同一个对象既可以读取数据,也可以直接修改并保存。
- 语法直观:支持像操作 Excel 公式一样直接通过
A1、B2这种坐标定位单元格。 - 功能强大:原生支持样式编辑、公式注入、数据透视以及直接绘制原生 Excel 图表。
注意:
openpyxl专门为 Office 2007 及更高版本的 XML 格式设计,不支持古老的.xls文件。
安装指令
2. 读取 Excel 文件:灵活的坐标定位
openpyxl 提供了多种方式定位数据。除了传统的行列索引外,直接使用 Excel 坐标字符串 是其一大特色。
实战:读取股票数据
3. 写入与样式定制
在 Daoman Python AI 的报表开发中,整洁的样式是专业性的体现。openpyxl 将样式细分为 Font(字体)、Alignment(对齐)、Border(边框)等模块。
4. 生成专业统计图表
这是 openpyxl 最强大的功能之一。它生成的不是图片,而是原生的 Excel 图表对象,用户打开 Excel 后依然可以点击图表查看数据源。
5. 总结与建议
- openpyxl 是处理
.xlsx文件的全能选手,尤其适合需要保留 Excel 原生功能(如公式、图表)的场景。 - 坐标访问 (
sheet['A1']) 比行列索引更易读,建议优先使用。 - 性能提醒:如果需要处理超大规模(数百万行)的数据,且不关心样式和图表,建议切换到 Pandas。Pandas 底层虽然也调用
openpyxl,但在纯数据计算和转换效率上具有压倒性优势。

