python openpyxl 常用操作(一)
Python openpyxl 常用操作
openpyxl 模块是目前Python 的第三方模块中,对xls、xlsx 文件操作比较全面的一个组件,里面有很多xls的常用操作,比如表合并、xls函数(如求和sum(),而且用法简单)、建统计图等。
openpyxl的安装
1 | pip install openpyxl |
引入openpyxl 模块Workboot 类并进行实例化
1 2 3 4 | from openpyxl import Workboot # 实例化Workboot类 wb = Workboot() |
一般在实例化Workboot类后,会默认生成一个sheet页,可以直接引用该sheet页。
以下是引用默认sheet页或自己创建sheet页,一个Workboot实例化对象可以同时创建多个sheet页,如下
1 2 3 4 5 6 7 8 9 10 11 | #引用Workboot默认创建的sheet页 wb = Workboot() #使用默认的sheet页 ws = wb.active #重命名sheet页的名称 ws.title = "测试页“ #重新创建一个新的sheet页 ws1 = wb.create_sheet(title="新建sheet表格“) |
调换一个sheet页的位置
1 2 3 4 5 6 7 8 9 10 | #创建Workboot实例化对象 wb = Workboot() ws = wb.create_sheet( "新建sheet页" ) wb.move_sheet(sheet= "创建空sheet" ,offset=2) "" " 移动sheet页 @sheet 是需要移动sheet页的名称 @offset 将要移动的索引位置 "" " |
查看当前含有的sheet页,返回列表
1 2 3 4 5 | #创建Workboot实例化对象 wb = Workboot() <br>#查看当前存在哪些sheet页,返回list类型 sheets = wb.sheetnames print(sheets) |
查看当前Workboot对象含有哪些worksheet页
1 2 3 4 5 6 | #创建Workboot 的实例化对象 wb = Workboot() #查看当前wb下含有哪些worksheet。 worksheet_list = wb.worksheets print(worksheet_list) |
删除一个sheet页
1 2 3 4 5 6 7 8 9 10 11 | #创建Workboot实例化对象 wb = Workboot() #先查看当前wb下的worksheet信息 worksheet_list = wb.worksheets # 删除workboot下第1个sheet页 wb.remove(worksheet=wb.worksheets[0]) "" " @worksheet 是workbook的worksheet。可通过wb.worksheets了解worksheets的值 "" " |
复制一个新的sheet页
1 2 3 4 5 6 7 8 9 10 11 | #创建Workboot实例化对象 wb = Workboot() #先查看当前wb下的worksheet信息 worksheet_list = wb.worksheets # 复制第1个sheet页 wb.copy_worksheet(from_worksheet=wb.worksheets[0]) "" " @worksheet 是workbook的worksheet。可通过wb.worksheets了解worksheets的值 "" " |
openpyxl 模块sheet 页单元格的操作有以下三种方式:
1、通过cell方法
1 2 3 4 5 6 7 8 9 10 11 | #创建Workboot 实例化对象 wb = Workboot() 使用默认的sheet页 ws = wb.active #通过cell方式,在xlsx中插入数据 #在第1行第3列插入内容:新增数据1 ws.cell(row=1 , column=3 , value= "新增数据1" ) #在第2行第3列插入内容:新增数据2 ws.cell(row=2 , column=3 , value= "新增数据2" ) |
2、通过xlsx表头的字母+数字的形式找到单元格并填写如数据(字母对应所在的列,数字对应所在的行)
1 2 3 4 5 6 7 8 9 | #创建Workboot 实例化对象 wb = Workboot() #使用默认的sheet页 ws = wb.active #通过xlsx的表头字母+数据的形式,添加数据 #在第1列,第5行中添加内容:新增数据3 ws[A5] = "新增数据3" |
3、通过append方法填入数据
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #创建Workboot 实例化对象 wb = Workboot() #使用默认的sheet页 ws = wb.active #通过append方法向表格中添加新的数据,可以同时添加多条数据 ws.append([ "number" , "value" , "test" , "result" ], [ "01" , "test" , "hehe" ,6], [ "02" , "str" , "name" ,92]) #也可以单条添加或者通过循环的形式添加 ws.append([ "number" , "value" , "test" , "result" ]) ws.append([ "01" , "test" , "hehe" ,6]) ws.append([ "02" , "str" , "name" ,92]) |
在完成操作后,保存xlsx文件路径
wb.save("G:\\python_code\\file\\test3.xlsx")
在保存后,记得关闭workboot的进程,避免资源的浪费。
wb.close()
来源:https://www.osgeo.cn/openpyxl/tutorial.html#create-a-workbook
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本