Python 读写 Excel 文件-2 (openpyxl 进阶)
Python 读写 Excel 文件(进阶篇)
1. openpyxl 简介:现代办公自动化的首选
在上一章我们搞定了旧版 .xls 的读写,但现在谁还用 .xls 存日常数据呢?主流报表、统计表格现在都用 **Office 2007+ 引入的 **.xlsx XML 格式对吧?那处理它的 Python 生态「头牌非 openpyxl 莫属——读写合一、功能全、语法还特别贴合 Excel 原生习惯!
对比旧工具 xlrd/xlwt 组合的痛点——它们各自管读/写不同格式,openpyxl 直接把这些功能全整合,优势太直观:
- 一键保存无割裂:读的时候可以原地改,同一个工作簿对象,既能读也能改也能删,操作完全顺
- 坐标爽歪歪:直接敲
A1、C4这种日常 Excel 坐标定位,不用再记行列换算 - 功能天花板:原生支持字体边框对齐等全样式编辑、公式直接写进去 Excel 公式(不是文本!是能重新计算的)、数据透视图表(哦对还有数据透视表这里先预告基础图表)
⚠️ 格式限制 只认
.xlsx/.xlsm,.xls请戳上一章的工具哦!别白忙活!
安装指令
2. 读取 Excel 文件:灵活的坐标定位
读取灵活得离谱!
除了普通的行列索引,Excel 原生坐标字符串绝对是 openpyxl 最香的地方——不用每次拿纸笔算行列对应的数字索引,写出来的代码自己下次看也秒懂!
实战:读取股票历史数据
3. 写入与样式定制:报表好看才是专业
openpyxl 把样式拆成了一个个小模块,按需拼接,像搭积木一样调报表!
插一句:**样式都是对「日常的字体、对齐、边框等模块都能单独保存复用,不用每次写一大串!
4. 生成专业原生 Excel 图表:不是图片!不是图片!不是图片!
敲黑板!这是 openpyxl 最吸引办公党、报表党的杀招——生成的是原生 Excel 可交互图表对象!打开 Excel 后可以拖动图表看数据源、改配色、改类型(从柱状图换折线图分分钟的事!
5. 总结与避坑建议
总结一句话:**处理 .xlsx 非 Pandas 补基础交互(样式/原生图/小批量数据,用 Pandas 底层也是用 openpyxl 存,但纯数据百万行级计算/清洗 Pandas 快!
避坑建议:
- 行列索引:从 1 开始!别搞混旧工具的 0!
- 值模式读写:百万行级纯数据读一定要开
read_only=True,写开write_only=True,省内存! - 公式:写公式一定要用 英文标点!中文标点会报错!

