python openpyxl 常用操作(一)
Python openpyxl 常用操作
openpyxl 模块是目前Python 的第三方模块中,对xls、xlsx 文件操作比较全面的一个组件,里面有很多xls的常用操作,比如表合并、xls函数(如求和sum(),而且用法简单)、建统计图等。
openpyxl的安装
pip install openpyxl
引入openpyxl 模块Workboot 类并进行实例化
from openpyxl import Workboot # 实例化Workboot类 wb = Workboot()
一般在实例化Workboot类后,会默认生成一个sheet页,可以直接引用该sheet页。
以下是引用默认sheet页或自己创建sheet页,一个Workboot实例化对象可以同时创建多个sheet页,如下
#引用Workboot默认创建的sheet页 wb = Workboot() #使用默认的sheet页 ws = wb.active #重命名sheet页的名称 ws.title = "测试页“ #重新创建一个新的sheet页 ws1 = wb.create_sheet(title="新建sheet表格“)
调换一个sheet页的位置
#创建Workboot实例化对象 wb = Workboot() ws = wb.create_sheet("新建sheet页") wb.move_sheet(sheet="创建空sheet",offset=2) """ 移动sheet页 @sheet 是需要移动sheet页的名称 @offset 将要移动的索引位置 """
查看当前含有的sheet页,返回列表
#创建Workboot实例化对象 wb = Workboot()
#查看当前存在哪些sheet页,返回list类型 sheets = wb.sheetnames print(sheets)
查看当前Workboot对象含有哪些worksheet页
#创建Workboot 的实例化对象 wb = Workboot() #查看当前wb下含有哪些worksheet。 worksheet_list = wb.worksheets print(worksheet_list)
删除一个sheet页
#创建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页
#创建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方法
#创建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表头的字母+数字的形式找到单元格并填写如数据(字母对应所在的列,数字对应所在的行)
#创建Workboot 实例化对象 wb = Workboot() #使用默认的sheet页 ws = wb.active #通过xlsx的表头字母+数据的形式,添加数据 #在第1列,第5行中添加内容:新增数据3 ws[A5] = "新增数据3"
3、通过append方法填入数据
#创建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