前言
openpyxl模块是一个读写Excel 2010文档的Python库,如果要处理更早格式的Excel文档,需要用到额外的库
Excel文件三个对像
workbook: 工作簿,一个excel文件包含多个sheet。
sheet:工作表,一个workbook有多个表名,如“sheet1”, “sheet2”等。
cell: 单元格,存储数据对象
安装
pip install openpyxl
第1步:打开文件
操作excel第一步就是打开文件
括号内必须传入文件的路径
# -*- coding: utf-8 -*- # @Author : import openpyxl wb = openpyxl.load_workbook("D:\\study\\test.xlsx")
第2步:创建工作表(如果不创建表,直接跳到第3步)
使用代码的方法,去添加表名
默认是加到表最后
# -*- coding: utf-8 -*- # @Author : import openpyxl wb = openpyxl.load_workbook("D:\\study\\test.xlsx") # 添加表名 sheet_study = wb.create_sheet("study") # 方式二:插入到最开始的位置 # end = wb.create_sheet("study", 0)
第3步:选择表
操作一个sheet前,必须先要获取这个sheet对像
3.1 选择默认的表
获取当前活跃的表
# -*- coding: utf-8 -*- # @Author : import openpyxl wb = openpyxl.load_workbook("D:\\study\\test.xlsx") default_name = wb.active print(default_name) # 运行结果 <Worksheet "Sheet1">
3.2 自定义选择表
语法:实例化对像[“表名”]
# -*- coding: utf-8 -*- # @Author : import openpyxl wb = openpyxl.load_workbook("D:\\study\\test.xlsx") study_name = wb["study"] # 第2种获取表名的方式 # sheet = wb.get_sheet_by_name("study") print(study_name) # 运行结果 <Worksheet "study">
第4步:保存数据
添加表名或其它数据后,必须要保存,否则不会生效
# 添加后,必须要保存,否则不会生效 wb.save("D:\\study\\test.xlsx")
查看表名
# -*- coding: utf-8 -*- # @Author : import openpyxl wb = openpyxl.load_workbook("D:\\study\\test.xlsx") sheet_names = wb.sheetnames print(sheet_names) # 运行结果 ['Sheet1', 'Sheet2', 'study']
访问单元格
注意row、column行和列最小的值为1
# -*- coding: utf-8 -*- # @Author : import openpyxl wb = openpyxl.load_workbook("D:\\study\\test.xlsx") sheet = wb.active sheet.cell(row=1, column=1, value="程序员一凡") wb.save("D:\\study\\test.xlsx")
删除工作表
# -*- coding: utf-8 -*- # @Author : import openpyxl wb = openpyxl.load_workbook("D:\\study\\test.xlsx") sheet = wb.active # 方式一 wb.remove(sheet) # 方式二 del wb[sheet]