0
点赞
收藏
分享

微信扫一扫

【openpyxl】操作工作表(创建、改名、移动、复制、删除)

1.创建工作表

1.1 默认工作表

当创建好工作簿之后会自动生成一个工作表(sheet),名为"Sheet",可以通过active来获取

wb = Workbook()
ws = wb.active  # 获取默认的工作表
print(ws.title)  # 返回工作表名,Sheet
1.2 创建工作表

我们可以通过create_sheet方法创建工作表

from openpyxl import Workbook

wb = Workbook()
ws1 = wb.create_sheet("my_sheet1", 1)
ws2 = wb.create_sheet("my_sheet2", 2)
wb.save("./test.xlsx")  # 保存到硬盘

create_sheet(title,index),接收两个参数,表名和位置

2.修改工作表

2.1 获取和修改表名、获取下标
from openpyxl import Workbook

wb = Workbook()
ws1 = wb.create_sheet("my_sheet1", 1)
ws2 = wb.create_sheet("my_sheet2", 2)

# 修改表名
print(ws1.title)  # 输出:my_sheet1
ws1.title = "my_sheet111"
print(ws1.title)  # 输出:my_sheet111

# 获取所有表名
names = wb.get_sheet_names()  # 推荐使用下面的获取用法
sheet_names = wb.sheetnames
print(type(sheet_names), sheet_names)  # 输出:<class 'list'> ['Sheet', 'my_sheet111', 'my_sheet2']

# 通过表名获取表
sheet = wb.get_sheet_by_name("Sheet")  # 推荐使用下面的获取方法
sheet = wb["Sheet"]

# 获取表的下标位置(下标从0开始)
# index = wb.get_index(ws2)  # 推荐下面的获取方法
index = wb.index(ws2)
print("get_index:", index)

2.2 移动、复制、删除表
from openpyxl import Workbook

wb = Workbook()
ws1 = wb.create_sheet("my_sheet1", 1)
ws2 = wb.create_sheet("my_sheet2", 2)

ws1.title = "my_sheet111"
print(ws1.title)
print(wb.sheetnames)  # 输出:['Sheet', 'my_sheet111', 'my_sheet2']

# 移动位置
wb.move_sheet("my_sheet111", -1)   # 向前移动一个位置,正数往后,负数往前
print(wb.sheetnames)  # 输出:['my_sheet111', 'Sheet', 'my_sheet2']

# 删除工作表
# wb.remove_sheet(ws1)  # 方法1
del wb["my_sheet111"]  # 方法2
print(wb.sheetnames)  # 输出:['Sheet', 'my_sheet2']

# 复制工作表
cp_sheet = wb.copy_worksheet(ws1)
print(cp_sheet.title)  # 输出:my_sheet111 Copy

举报

相关推荐

0 条评论