赞
踩
当涉及到处理Excel文件时,openpyxl是Python中一个非常有用的库。它允许你读取、修改和创建Excel文件,提供了丰富的功能和灵活性。
以下是一些openpyxl库的主要功能和特点:
读写操作:openpyxl可以读取和写入Excel文件,支持XLSX格式(Microsoft Excel 2007以上版本使用的默认文件格式)。你可以打开现有的Excel文件,读取和修改其中的数据,也可以创建新的Excel文件并添加数据。
单元格操作:你可以使用openpyxl修改单元格的值、样式和格式,比如设置字体、颜色、边框、对齐等。它还支持合并和拆分单元格,设置单元格的数据验证,以及对数值、日期、时间等进行格式化。
表格和工作表操作:openpyxl允许你创建、删除和重命名工作表,对工作表进行排序和隐藏,以及在工作表之间移动数据。你还可以创建数据透视表和图表,并保存为Excel文件。
公式计算:openpyxl支持使用公式进行计算。你可以在单元格中设置公式,并自动计算结果。它还提供了一些内置函数和工具,用于处理公式、引用其他单元格等。
图像插入:openpyxl允许在Excel文件中插入图像。你可以将图像文件添加到工作表中的单元格,调整大小和位置,并设置其他属性。
协作功能:openpyxl提供了一些协作功能,使多个用户能够同时编辑同一个Excel文件。你可以锁定特定的单元格、保护工作表,并控制对文件的访问和修改权限。
openpyxl.load_workbook(“”)
wb=openpyxl.load_workbook("数据.xlsx")
参数 | 类型 | 默认值 | 作用 |
---|---|---|---|
filename | 目录 | 要打开的文件路径或类文件对象 | |
read_only | bool | false | 是否只读,不可编辑 |
keep_vba | bool | 是否保留VBA内容(并不代表能够使用它) | |
data_only | bool | false | 控制带有公式的单元格是否具有公式(默认值)或上次Excel读取工作表时存储的值 |
keep_links | bool | true | 是否应该保留到外部工作簿的链接 |
wb.sheetnames
输出sheet表们的名称,或者可以使用for循环遍历输出
for sheet in wb:
print(sheet.title)
参数 | 类型 | 作用 |
---|---|---|
title | string | 工作表的可选标题 |
index | int | 可选的插入工作表的位置 |
返回worksheet对象,只读模式不可用
参数 | 类型 | 作用 |
---|---|---|
title | string | 工作表名称 |
index | int | 指定索引位置 |
返回chartsheet对象,只读模式不可用
参数:worksheet,要索引的工作表
返回:索引值
参数:worksheet,要复制的工作表
返回:复制的工作表的副本
只读或只写模式无法使用
参数 | 类型 | 作用 |
---|---|---|
worksheet | 待粘贴工作表 | |
index | int | 指定索引位置 |
返回none
函数作用:在工作簿内部指定索引位置增加一个内部工作表。只读模式不可调用。与copy_worksheet联用相当于粘贴。
参数 | 类型 | 作用 |
---|---|---|
sheet | 待移动工作表 | |
offset | int | 偏移量 |
返回none
移动工作簿中指定工作表offset个偏移量
参数:worksheet,待移除工作表
返回:none
从工作簿删除指定工作表
如果工作簿文件打开,则关闭它。只影响只读和只写模式
保存工作簿到指定文件。只写模式下,只能调用一次;只读模式无法调用
sheet4=wb.get_sheet_by_name("数据1")#不推荐使用,因为这个快被废除了
sheet5=wb['mySheet']#推荐使用的方法
active表示当前活跃的sheet,即第一张sheet
ws=wb.active
print(ws)#显示当前操作的sheet对象
print(ws['A1'])#单元格对象
print(ws['A1'].value)#A1的数据
对于单元格的操作
c=ws['A2']
print(c.row,c.column,c.value)#第几行,第几列,该单元格的值
print(c.coordinate)#当前的单元格
另外一种对单元格的操作
print(ws.cell(row=1,column=2))#第几行第几列
print(ws.cell(row=1,column=2).value)
行列操作
colA=ws['A']#获取列对象
print(colA[2].value)
col_range=ws['A:B']#对列的切片
row_range=ws[2:6]#对行的切片
for col in col_range:
for cell in col:
print(cell.value)
统计行数列数
print(ws.max_row,ws.max_column)#sheet的行数和列数
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。