下载:
pip install openpyxl
基本使用:
新建一个Excel 工作簿:
使用openpyxl 需要先导入一个Workbook 类, 使用它可以创建一个Workbook<工作簿>对象, 也就是创建一个Excel表文件, web.active 可用来激活一个工作表. 我们可以使用它创建的 Websheet<工作表> 对象来调用一些属性或者方法, 例如:wb.title 获取或者设置此表格的标题;
from openxl import Workbook
wb = Workbook()
ws = wb.active
ws.title = "Spider"
print(ws.title)
wb.save("test.xlsx")
保存则直接调用创建的 工作簿对象中的 save() 方法即可,需要传递一个路径。
打开一个Excel 工作簿:
打工作簿使用到openpyxl 提供的 load_workbook 方法即可打开一个工作簿
from openpyxl import Workbook, load_workbook
# 新建一个工作簿
# wb = Workbook()
wb = load_workbook("spider.xlsx")
# 激活此工作簿
ws = wb.active
ws.title = "Spider_Demo"
print(ws.title)
wb.save("spider.xlsx")
操作工作表:
当我们创建出一个工作簿的时候,默认情况下它会自带一个 websheet<工作表>, 我们使用 wb.active 来激活这个默认的工作表就可以获取到 一个 Worksheet 的对象, 如果我们想再增加一个工作表, 则可以调用 Workbook<工作簿> 对象中的create_sheet 方法, 第一个参数传递的是工作表的Title, 第二个参数则是 索引, 这里的索引位置也是从 0 开始的, 对照Excel 表是这样的:
from openpyxl import Workbook
wb = Workbook()
print(type(wb))
# 激活默认的工作表
ws1 = wb.active
print(type(ws1))
ws2 = wb.create_sheet("Sheet2", 1)
ws3 = wb.create_sheet("Sheet3", 2)
# 查看所有工作表
print(wb.sheetnames)
同样的, 如果我们打开了一个 excel 文件,而这个文件中已经存在了 Sheet1 Sheet2 Sheet3 等工作表了, 那么我们可以使用 Workbook 对象,然后使用类似与字典取值的方式来获取一个工作表对象, 例如: ws3 = wb["Sheet3"] 这样会返回一个Websheet 对象。
如果我们想要移动一个工作表到其它的位置,例如:将Sheet3 移动到 Sheet2 的位置。
那么我们可以调用 Webbook 对象提供的 move_sheet() 方法, wb.move_sheet()
此方法第一个参数传递的是一个 Websheet 对象, 第二个参数传递的则是一个数字, 如果传递-1 负数, 则为向前移动一个位置, 如果传递的是正数 1 则为向后移动一个位置, 此形参默认值为 0
from openpyxl import Workbook, load_workbook
# wb = Workbook()
wb = load_workbook("spider.xlsx")
wb.move_sheet("Sheet4", -2)
print(wb.sheetnames) # ['Sheet1', 'Sheet4', 'Sheet2', 'Sheet3']