京公网安备 11010802034615号
经营许可证编号:京B2-20210330
作者:陈熹
来源:早起Python
本文含 3321 字,30 代码片段,建议阅读 8 分钟
大家好,今天我们就来详细的盘点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)
有了上面的基础知识之后我们就能更快速的与办公自动化需求结合使用了。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
随着大数据技术的快速发展,商业竞争逐步从传统的经验式经营转变为数据驱动的精细化运营。海量的用户行为数据、交易数据、运营数 ...
2026-09-04CDA数据分析师 出品 作者:李诗怡 1. 波士顿矩阵(BCG Matrix) 定义: BCG于1970年提出的业务组合分析工具,以"市场增长率"(纵 ...
2026-09-04 数据分析师八成以上的时间在和数据表格打交道,但许多人拿到Excel后习惯性地先算、先分析,结果回头发现漏了一列关键数据, ...
2026-09-04数据透视表是Excel与Power BI中最核心的数据分析工具,具备快速汇总、维度拆分、动态筛选的能力,可高效完成数据归类与统计展示 ...
2026-09-03在Power BI数据分析可视化场景中,堆积柱状图+折线图是最常用的复合图表组合。堆积柱状图适合展示各细分维度当期数值、结构占比 ...
2026-09-03 很多数据分析师每天与Excel打交道,但当被问到“表格结构数据的基本处理单位是什么”“数据类型误判会引发哪些分析错误”“ ...
2026-09-03CDA数据分析师 出品 作者:李诗怡 一、8个核心数据清洗函数 1. TRIM:一键清除多余空格(最常用) 作用:仅保留文本中"单词/字 ...
2026-09-02数据分析的核心并非单纯操作工具、整理报表或绘制图表,而是依靠科学的思维逻辑挖掘数据价值、解释业务现象、指导经营决策。在完 ...
2026-09-02在社会经济、产业研究、区域治理与大数据实证分析中,面板数据是最具研究价值的数据类型。面板数据同时包含截面维度与时间维度信 ...
2026-09-02 很多数据分析师能熟练计算均值、标准差,但当被问到“如何用一张图让业务方3秒内看懂核心结论”“面对不同数据类型该怎么选 ...
2026-09-02在数据驱动决策的体系中,数据分析按照分析目的可分为描述性分析、诊断性分析、预测性分析与指导性分析四大类型。其中,诊断性分 ...
2026-09-01网络请求是Python爬虫开发、接口测试、数据拉取的核心基础功能,Python生态中主要依靠 urllib 和 requests 两大库实现HTTP请求操 ...
2026-09-01 很多数据分析师面对业务问题时,常常感到“知道要分析,却不知道用什么方法”。其实,数据分析并非无章可循——从三大基础范 ...
2026-09-01在数据库设计与业务数据维护中,自增ID是数据表最常用的主键字段,用于唯一标识每一条业务数据,正常状态下ID应保持连续递增。但 ...
2026-08-31在数理统计、数据分析、经济测算与日常量化评估中,平均值是刻画数据集中趋势、反映整体水平的基础核心指标。在实际应用中,最常 ...
2026-08-31在数据驱动的时代,数据分析早已不是“凭经验、靠感觉”的零散操作,而是一套具备固定逻辑、标准化流程的系统方法——这就是数据 ...
2026-08-31在大数据时代背景下,海量行业数据亟需通过专业化工具挖掘潜在价值,辅助企业业务决策、优化运营模式、规避经营风险。Python凭借 ...
2026-08-28SQL是数据分析领域最基础、最核心的工具,承担着取数、清洗、统计、分层、归因的全流程工作。不同于单纯的语法练习,实战化SQL数 ...
2026-08-28 很多企业团队并非缺乏指标,而是陷入“指标失控”:仪表盘上堆满实时跳动的数据,却无法回答“当前瓶颈在哪、下一步该做什么 ...
2026-08-28随着新零售模式的快速普及,零售行业从传统的“货品驱动”全面转向“用户驱动”。门店交易数据、线上消费记录、浏览轨迹、复购频 ...
2026-08-27