openpyxl
是一个读写Excel文档的Python
库,能够同时读取和修改Excel文档。
openpyxl是一个开源项目,因此在使用之前需要先进行安装:
pip install openpyxl
openxpyxl
中有三个不同层次的类,分别是Workbook
、Worksheet
和Cello。Workbook是对Excel工作簿的抽象,Worksheet是对表格的抽象,Cell是对单元格的抽象。每一个类都包含了若干属性和方法,以便于我们通过这些属性和方法获取表格中的数据。一个Workbook
对象代表一个Excel文档,因此在操作一个Excel之前,应该先创建一个Workbook
对象。对于创建一个新的Excel文档,直接进行Workbook类调用即可。对于读取一个已有的Excel文档,可以使用openxpyxl模块的load_workbook函数。该函数接受多个参数,但只有filename参数为必传参数。filenmame
可以是一个文件名,也可以是一个打开的文件对象。
Workbook对象有很多的属性和方法:
Workbook对象的方法:
常用的Worksheet属性:
import openpyxl wb = openpyxl.load_workbook('book2.xlsx') print(wb.active) print(wb.read_only) print(wb.worksheets) print(wb.get_sheet_names()) print(wb.get_active_sheet()) sheet = wb.get_sheet_by_name('Sheet1') print(sheet.max_row) for row in sheet.values: print(*row)
创建和修改excel:
from openpyxl import Workbook wb = Workbook() #默认创建一个sheet sheet = wb.active sheet.title = 'test1' sheet0 = wb.create_sheet(index=0, title="test0") #又创建一个sheet,并且放到第一位 sheet0['A1'] = '姓名' sheet0['A2'] = 'ok' wb.save('abc.xlsx')
如果文件已经存在,会删除文件重新建立。
例子:求RECORD
这一列值的合计,并写入下最后一行
import openpyxl wb = openpyxl.load_workbook('test.xlsx') #打开文件 sheet = wb.get_sheet_by_name('Sheet1') #获取第一个sheet sum = 0.00 for row in range(2,sheet.max_row+1): #从第二行到最后一行 scores = sheet.cell(row,column=3).value #获取第三列 sum = sum + scores sheet.cell(column=3, row=sheet.max_row+1, value=sum) #最后一行赋值 wb.save('test.xlsx')