openpyxl常用用法
openpyxl简介
openpyxl是一个Python的实用第三方库,用户读取/写入后缀为xlsx / xlsm / xltx / xltm的Excel表格文件。
openpyxl官方文档
openpyxl - A Python library to read/write Excel 2010 xlsx/xlsm files — openpyxl 3.0.9 documentation
表格基本操作
导入openpyxl库
import openpyxl
对工作簿操作
打开工作簿
wb = load_workbook(filename='文件路径', data_only=False)
filename: 文件路径
data_only: 默认为False,以Excel公式的形式读取;当为True的时候以值的形式读取
创建工作簿
wb = Workbook()
保存工作簿
wb.save('文件路径')
对工作表操作
打开活动工作表
ws = wb.active
打开指定名称工作表
ws = wb['工作表名']
创建新工作表
ws = wb.create_sheet('新工作表名')
括号里不传递名字的话,会默认用Sheet、Sheet1、Sheet2……命名
修改工作表名称
ws.title = '新工作表名'
查看所有工作表的名称
wb.sheetnames
返回值是所有工作表名称组成的列表['Sheet1', 'Sheet2', 'Sheet3']
获取工作表的数据范围
获取最大行
max_row = ws.max_row
获取最大列
max_col = ws.max_column
删除工作表
wb.remove(ws)
复制工作表(创建副本)
source = wb.active
target = wb.copy_worksheet(source)
把source创建一个副本,并用target表示
修改工作表标签颜色
# 如:ws.sheet_properties.tabColor = "1072BA" ws.sheet_properties.tabColor = '颜色十六进制码'
对行/列操作
在最后添加一行数据
# 可迭代对象有列表、元组 ws.append(可迭代对象)
插入行/列
ws.insert_rows(要添加的行, 插入的行数) ws.insert_cols(要添加的列, 插入的列数)
删除行/列
ws.delete_rows(开始行, 删除的行数) ws.delete_cols(开始列, 删除的列数)
对单元格操作
访问单个单元格
- 使用索引
# 如取第A1单元格:c = ws['A1'] c = ws['单元格位置']
- 使用ws.cell()方法
# 如取A1单元格:c = ws.cell(1, 1) c = ws.cell(行, 列)
访问多个单元格
# 如取A1到C2单元格:cell_range = ws['A1':'C2'] cell_range = ws['首单元格':'末单元格']
获取单元格的值
- 使用索引
# 如取第A1单元格的值:cv = ws['A1'].value cv = ws['单元格位置'].value
- 使用ws.cell()方法
# 如取A1单元格:cv = ws.cell(1,1).value cv = ws.cell(行, 列).value
向单元格里写入值
# 单元格对象为上方的c 单元格对象.value = 值
按行遍历获取单元格
for row in ws.iter_rows(min_row=1, max_row=1, min_col=1, max_col=1, values_only=False):print(row)
row为每行单元格组成的元组
min_row: 最小行
max_row: 最大行
min_col: 最小列
max_col: 最大列
values_only: 默认为False,以单元格对象返回;当为True时,以单元格值返回
按列遍历获取单元格
for col in ws.iter_cols(min_row=1, max_row=1, min_col=1, max_col=1, values_only=False):print(col)
col为每列单元格组成的元组
min_row: 最小行
max_row: 最大行
min_col: 最小列
max_col: 最大列
values_only: 默认为False,以单元格对象返回;当为True时,以单元格值返回
合并单元格
# 如合并A1到C2: ws.merge_cells('A1:C2') ws.merge_cells('首格:末格')
# 另一种方法,合并A1到B2的单元格 ws.merge_cells(start_row=1, start_column=1, end_row=2, end_column=2)
start_row: 开始行
srart_column: 开始列
end_row: 结束行
end_column: 结束列
拆分合并单元格
# 如拆分A1到C2: ws.unmerge_cells('A1:C2') ws.unmerge_cells('首格:末格')
# 另一种方法,拆分A1到B2的单元格 ws.unmerge_cells(start_row=1, start_column=1, end_row=2, end_column=2)
start_row: 开始行
srart_column: 开始列
end_row: 结束行
end_column: 结束列
表格进阶操作
表格显示操作
移动覆盖数据区域
# 将D4到F10向上移动1行,向右移动2列 ws.move_range("D4:F10", rows=-1, cols=2)
冻结行/列
# 如冻结B列和第2行: ws.freeze_panes = 'B2' ws.freeze_panes = '作为基准的单元格'
隐藏行/列
# 隐藏A到D列 ws.column_dimensions.group('A', 'D', hidden=True) # 隐藏1到10行 ws.row_dimensions.group(1, 10, hidden=True)
Excel公式操作
使用Excel公式
# 如求和: ws["A1"] = "=SUM(1, 1)" ws['单元格位置'] = '=Excel公式'
非文本内容操作
插入图片
from openpyxl.drawing.image import Image img = Image('图片文件') ws.add_image(img, '单元格位置')
巧记忆
openpyxl常用用法相关推荐
- 【Android 异步操作】Handler 机制 ( Handler 常用用法 | HandlerThread 简介 | HandlerThread 源码注释分析 )
文章目录 一.Handler 常用用法 二.HandlerThread 简介 三.HandlerThread 源码 一.Handler 常用用法 主线程 Handler 主要作用 : Looper 和 ...
- 【Android 异步操作】Timer 定时器 ( Timer 与 TimerTask 基本使用 | Timer 定时器常用用法 | Timer 源码分析 )
文章目录 一.Timer 定时器基本使用 二.Timer 定时器常用用法 三.Timer 源码分析 四.Timer 部分源码注释 五.源码及资源下载 参考文档 : Timer 定时器 API 文档 T ...
- 【Kotlin】Kotlin enum 枚举类 ( 常用用法 | 初始化成员变量 | 实现抽象方法 | 实现接口 | 获取名称和位置索引 | 调用枚举常量方法 )
文章目录 I . 枚举类常用用法 II . 枚举类初始化 III. 枚举类匿名类 IV . 枚举类实现接口 V . 获取枚举常量名称和位置索引 VI . 获取枚举常量的成员变量 VII . 调用枚举常 ...
- Python中的基本函数及其常用用法简析
分享Python中的基本函数及其常用用法简析,首先关于函数的解释函数是为了达到某种目的而采取的行为,函数是可重复使用的,用来实现某个单一功能或者功能片段的代码块,简单来说就是由一系列的程序语句组成的程 ...
- 【Data Mining】机器学习三剑客之Numpy常用用法总结
点击"小詹学Python",选择"置顶"公众号 重磅干货,第一时间送达 本文转载自AI蜗牛车,禁二次转载 一.前言 玩数据分析.数据挖掘.AI的都知道这个pyt ...
- python中excel制作成绩报表_python制作简单excel统计报表2之操作excel的模块openpyxl简单用法...
python制作简单excel统计报表2之操作excel的模块openpyxl简单用法 # coding=utf-8 from openpyxl import Workbook, load_workb ...
- grep参数说明及常用用法
grep参数说明及常用用法 查看文件内容 [kou@localhost ~]$ more size.txt b124230 b034325 a081016 m7187998 m7282064 a022 ...
- [转]ssh常用用法小结
ssh常用用法小结 1.连接到远程主机: 命令格式 : ssh name@remoteserver 或者 ssh remoteserver -l name 说明:以上两种方式都可以远程登录到远程主机, ...
- 关于grep,egrep正则表达式的常用用法
正则表达式是一类字符所书写的模式(pattern) 元字符:不表示字符本身的意义,而用于额外功能性的描述:而如果在这些特定的字符前加/这个符号那么这些字符就表示原有的意思. 正则表达式:基本正则表达式 ...
最新文章
- 我认识Linux的小羞愧历史
- 思科宣布NB-IoT平台实现商用
- 一切都是对象---JAVA编程思想
- 上传问题分析1--文件保存位置
- 学计算机平面设计可以找什么工作,大学生学了平面设计之后能找什么样的工作...
- ASP.NET Core 2.0利用MassTransit集成RabbitMQ
- HDU 6265 Master of Phi
- 驱动开发中的常用操作
- USACO3.1.1最短网络
- 89c51汇编语言流水灯,汇编语言流水灯
- Head First设计模式(中文版)PDF
- 无效的m3u8怎么办_m3u8视频不能播放的问题
- 新冠疫情全球数据可视化
- 2020年总结:携梦而行,无怨无悔
- android SDK introduce
- windows下搭建ITS运行环境
- 动画练习:Punch
- Java调用TSC打印机进行打印
- 30个高质量的数据集网站,你必须要试试!
- 吉林大学软件学院数据库系统原理复习
热门文章
- 宝付HR发现招聘互联网赚钱漏洞,错过真就可惜了
- @Documented,@Retention,@Target
- uml点餐系统活动图_UML建模——活动图(Activity Diagram)
- IP地址,netmask 子网掩码、gateway 默认网关,dns-nameserve域名服务器总结
- 【TikZ 简单学习(下):基础绘制】Latex下的绘图宏包
- 解决几个病毒,wowexec.tmp,MediaSups.exe,Rpcd.exe,RpcS.exe,sysdrv.dll等
- 笔记本电脑重装win7系统之键盘乱码问题解决
- 五、JMeter压力测试
- 《高等代数学》(姚慕生),例1.5.7
- BP2958D/F,智能调光无频闪,AC85V-265V转72V灯珠电压 200MA