京公网安备 11010802034615号
经营许可证编号:京B2-20210330
作者:陈熹
来源: 早起Python
大家好,在之前的十几篇办公自动化系列文章中,我们大多是以真实的案例需求来讲解python如何进行自动化办公操作,并且多次使用到openpyxl来处理表格,今天我们就来详细的盘点python操作Excel神器openpyxl的各种操作!
本文将以详细图表/代码的形式讲解如何对Excel进行读取、写入及样式调整,可以当成速查手册使用,随用随查,建议收藏!
安装
openpyxl是一个非标准库,因此需要自行安装,安装过程并不困难,Windows/Mac用户均可以在命令行(CMD)/终端(Terminal)中使用pip安装
pip install openpyxl
前置知识
在使用这个模块之前我们需要对Excel表格结构有个比较细致的了解,见下图:
简而言之,一个Excel工作簿workbook由一个或者多个工作表sheet组成,一个sheet可以看作是多个行row组成,也可以看作是多个列column组成,而每一行每一列都由多个单元格cell组成!
读取Excel
1.载入Excel
from openpyxl import load_workbook workbook = load_workbook(filename='测试.xlsx’) print(workbook.sheetnames)
注意load_workbook只能打开已经存在的Excel,不能创建新的工作簿
2.根据名称获取工作表
from openpyxl import load_workbook workbook = load_workbook(filename='其他.xlsx') print(workbook.sheetnames) sheet = workbook['工作业务']
如果只有一张工作表也可以用:
sheet = workbook.active
3.获取表格内容所在的范围
print(sheet.dimensions)
4.获取某个单元格的具体内容
这边提供两种方法,注意都需要以cell.value形式输出具体值
5.获取某个单元格的行、列、坐标
print(cell.row, cell.column, cell.coordinate)
6.获取多个格子的值
这里也有一个细节,Excel中每一列由字母确定,是字符型;每一行由一个数字确定,是整型。当然,上面的三种方法都是获取一堆表格,现在要输出每一个表格的值就需要遍历:
for cell in cells: print(cell.value)
三种方法依然有自己的局限性,如果我需要特定范围的值,且懒得换算成字母数字坐标。例如我想要获取第2行至第5行、第1列至第3列的全部单元格。因此必须掌握第4种方法:
7.读取所有的行
for row in sheet.rows: print(row)
Excel写入
1. 保存Excel
workbook.save(filename='Excel工作表1.xlsx')
2.写入单元格
cell = sheet['A1'] cell.value = '业务需求
3.写入一行或多行数据
4.将公式写入单元格并保存
sheet['K11'] = '=AVERAGE(K1:K10)'
5.插入一行或多行
6. 插入一列或多列
7.删除多行
8.删除多列
9. 移动范围数据
10. 创建新的Excel表格
from openpyxl import Workbook workbook = Workbook()
Excel样式调整
1. 设置字体样式
2. 设置对齐样式
3. 设置边框样式
4. 设置单元格填充样式
5. 设置行高和列宽
sheet.row_dimensions[1].height = 50 sheet.column_dimensions['C'].width = 20
6. 单元格合并与取消
# 合并
sheet.merge_cells('A1:B2')
sheet.merge_cells(start_row=1, start_column=3,
end_row=2, end_column=4)
# 取消合并
sheet.unmerge_cells('A1:B2')
sheet.unmerge_cells(start_row=1, start_column=3,
end_row=2, end_column=4)
想从事业务型数据分析师,您可以点击>>>“数据分析师”了解课程详情;
想从事大数据分析师,您可以点击>>>“大数据就业”了解课程详情;
想成为人工智能工程师,您可以点击>>>“人工智能就业”了解课程详情;
想了解Python数据分析,您可以点击>>>“Python数据分析师”了解课程详情;
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
数据收集是数据分析、数据挖掘与数字化运营的源头工作,数据收集的完整性、准确性、时效性直接决定后续数据分析结果的可信度与业 ...
2026-09-21箱线图是数据分析中用于识别数据分布、判断离散程度、筛查异常值的核心图表。相比于直方图、趋势图,箱线图可以精准区分正常数据 ...
2026-09-21 很多数据分析师精通Excel函数和数据透视表,但当被问到“数据从哪里来”“表和视图有什么区别”“数据库管理系统和SQL是什么 ...
2026-09-21在数据库数据查询与数据分析工作中,日期时间是最常用的数据类型之一。原始数据库中存储的日期格式多为标准时间戳、年月日时分秒 ...
2026-09-20在时序数据分析中,增长率是衡量数据涨跌幅度、研判发展趋势、识别周期波动的核心指标,主要分为环比增长率与同比增长率。传统Ex ...
2026-09-20 很多企业团队并非缺乏指标,而是陷入“指标失控”:仪表盘上堆满实时跳动的数据,却无法回答“当前瓶颈在哪、下一步该做什么 ...
2026-09-20CDA数据分析师 出品 作者:李诗怡 STP模型(营销战略三步法) 定义: 现代营销战略核心框架,通过市场细分(S)、目标市场选择( ...
2026-09-18在互联网产品迭代、运营优化、界面改版与策略升级过程中,主观经验判断容易造成决策偏差、盲目改版、资源浪费等问题。AB实验(AB ...
2026-09-18 很多企业并不缺少指标,缺少的是让指标“串起来、动起来、用起来”的体系。零散指标像散落一地的珠子,指标体系则是那根把珠 ...
2026-09-18在电商行业精细化运营时代,流量红利逐步消退,粗放式投流、广撒网营销模式已无法适配市场竞争需求。依托用户点击、加购、收藏、 ...
2026-09-17在数据可视化与数据分析工作中,图表是将零散数据转化为直观业务规律的核心工具。不同图表拥有专属的数据逻辑与分析维度,能够从 ...
2026-09-17 很多数据分析师每天盯着GMV、DAU、转化率,但当被问到“哪些指标在所有行业都适用”“哪些指标只对电商有意义”“二者如何搭 ...
2026-09-17在企业数字化运营、业务流程管理与精细化管控体系中,流程运营是串联各项业务环节、保障工作落地、提升运转效率的核心载体。无论 ...
2026-09-16在数据分析与统计学研究中,卡方检验是分析分类变量关联性与差异性的重要方法,广泛应用于市场调研、行为统计、社会调查、商业数 ...
2026-09-16 很多数据分析师每天盯着GMV、DAU、转化率,但当被问到“什么是指标”“指标和维度有什么区别”“如何定义指标值的计算规则和 ...
2026-09-16CDA数据分析师 出品 作者:李诗怡 定义: 用户增长核心分析框架,刻画用户从接触产品到自发推荐的全生命周期,五个递进环节构建 ...
2026-09-15在数字化营销与精细化用户运营时代,企业传统的广撒网式营销模式成本高、转化率低,已无法适配精准商业竞争需求。客户画像作为大 ...
2026-09-15 很多数据分析师精通描述性统计,能熟练计算均值、中位数、标准差,但当被问到“用500个样本如何推断10万用户的真实满意度” ...
2026-09-15在MySQL数据库数据查询与数据分析中,GROUP BY与ORDER BY是使用频率极高的核心关键字。二者语法结构相似,常搭配使用,但核心功 ...
2026-09-14随着数字化治理、智慧运营、数字孪生技术的普及,数字体征成为衡量业务状态、系统运行、城市治理与企业经营健康度的核心体系。数 ...
2026-09-14