Python办公 知识量:2 - 22 - 78
可以通过以下代码获取一个已经存在的Excel工作簿中的默认工作表:
from openpyxl import load_workbook # 打开工作簿 wb = load_workbook(filename="existing_workbook.xlsx") # 获取默认工作表 ws = wb.active # 打印工作表的名称 print(ws.title)
在这段代码中,首先从openpyxl库导入load_workbook函数。然后,调用这个函数,并传入要打开的工作簿的名称(包括路径),来创建一个Workbook对象。接着,通过调用Workbook对象的active属性,获取默认的工作表。最后,打印出工作表的名称。
可以通过以下代码获取一个已经存在的工作表的属性,比如说表名、最大行数、最大列数、已用单元格范围等:
from openpyxl import load_workbook # 打开工作簿 wb = load_workbook(filename="existing_workbook.xlsx") # 获取默认工作表 ws = wb.active # 打印工作表属性 print("工作表名称:", ws.title) print("最大行数:", ws.max_row) print("最大列数:", ws.max_column) print("已用单元格范围:", ws.used_range.min_row, ws.used_range.min_column, ws.used_range.max_row, ws.used_range.max_column)
在这段代码中,首先从openpyxl库导入load_workbook函数。然后,调用这个函数,并传入要打开的工作簿的名称(包括路径),来创建一个Workbook对象。接着,通过调用Workbook对象的active属性,获取默认的工作表。最后,打印出工作表的名称、最大行数、最大列数以及已用单元格范围。
需要注意的是,ws.used_range属性返回的是一个Range对象,表示工作表中已使用的单元格范围。通过访问该对象的min_row、min_column、max_row和max_column属性,可以获取已用单元格的范围信息。
在openpyxl库中,如果一个工作簿中有多张工作表,可以使用get_sheet_names()方法或者sheetnames属性来查看所有的工作表名称。
以下是一个示例代码:
from openpyxl import load_workbook # 打开工作簿 wb = load_workbook(filename="existing_workbook.xlsx") # 获取所有工作表名称 sheet_names = wb.sheetnames # 打印工作表名称 for sheet_name in sheet_names: print(sheet_name)
在这段代码中,首先从openpyxl库导入load_workbook函数。然后,调用这个函数,并传入要打开的工作簿的名称(包括路径),来创建一个Workbook对象。接着,通过调用Workbook对象的sheetnames属性,获取所有工作表的名称。最后,遍历sheet_names列表,打印每个工作表的名称。
在Python的openpyxl库中,当一个工作簿中的一张表不够用时,可以使用Workbook对象的create_sheet()方法来新建工作表。
create_sheet()方法需要两个参数:
表名(sheetname):这是新工作表的名称。
位置(index):这是新工作表在所有工作表中的位置,从0开始计数。如果不指定位置,新工作表将默认添加到最后。
调用create_sheet()方法后,会返回一个新的工作表对象,这是一个Worksheet对象,它代表了Excel中的一个工作表。
以下是一个简单的示例,演示如何使用create_sheet()方法新建工作表:
from openpyxl import Workbook # 创建一个新的工作簿 wb = Workbook() # 创建一个名为"New Sheet"的新工作表,并将其放在位置0(即最前面) ws = wb.create_sheet("New Sheet", 0) # 打印新工作表的名称 print(ws.title) # 输出:New Sheet # 保存工作簿到文件 wb.save("new_workbook.xlsx")
在这个示例中,首先创建了一个新的工作簿对象wb。然后,使用create_sheet()方法创建了一个名为"New Sheet"的新工作表,并将其放在位置0(最前面)。最后,保存工作簿到文件"new_workbook.xlsx"。
在openpyxl库中,如果想根据表名直接删除工作表,可以使用Python的del关键字。
下面是一个示例代码,演示如何根据表名删除工作表:
from openpyxl import load_workbook # 打开工作簿 wb = load_workbook(filename="existing_workbook.xlsx") # 获取要删除的工作表 sheet_to_delete = wb["Sheet1"] # 使用del关键字删除工作表 del sheet_to_delete # 保存工作簿到文件 wb.save("new_workbook.xlsx")
在这个示例中,首先从openpyxl库导入load_workbook函数。然后,调用这个函数,并传入要打开的工作簿的名称(包括路径),来创建一个Workbook对象。接着,通过访问Workbook对象的属性(例如"Sheet1"),获取要删除的工作表。然后,使用del关键字删除该工作表。最后,保存工作簿到文件"new_workbook.xlsx"。
使用openpyxl库中的move_sheet()方法,可以轻松地移动工作表。
move_sheet()方法需要两个参数:
表名:这是要移动的工作表的名称。
偏移量:这是要移动的次数。偏移量的数据类型是整型。正数表示往后移动,负数表示往前移动。
以下是一个简单的示例,演示如何使用move_sheet()方法移动工作表:
from openpyxl import Workbook # 创建一个新的工作簿 wb = Workbook() # 创建一些工作表 wb.create_sheet("Sheet1") wb.create_sheet("Sheet2") wb.create_sheet("Sheet3") # 打印原始的工作表顺序 print("原始顺序:", [ws.title for ws in wb.worksheets]) # 使用move_sheet()方法移动工作表 wb.move_sheet("Sheet2", 1) # 将"Sheet2"移动到第二个位置 # 打印移动后的工作表顺序 print("移动后的顺序:", [ws.title for ws in wb.worksheets]) # 保存工作簿到文件 wb.save("moved_workbook.xlsx")
在这个示例中,首先创建了一个新的工作簿,并创建了三个工作表。然后,使用move_sheet()方法将"Sheet2"移动到第二个位置。最后,保存工作簿到文件"moved_workbook.xlsx"。
注意:move_sheet()方法实际上是通过改变工作表的索引来实现移动的。因此,当移动一个工作表时,其他工作表的索引也会相应地调整。
在openpyxl库中,copy_worksheet()方法用于复制工作表。这个方法需要一个参数,即要复制的工作表对象。以下是一个简单的示例,演示如何使用copy_worksheet()方法复制工作表:
from openpyxl import Workbook # 创建一个新的工作簿 wb = Workbook() # 创建一些工作表 wb.create_sheet("Sheet1") wb.create_sheet("Sheet2") wb.create_sheet("Sheet3") # 打印原始的工作表顺序 print("原始顺序:", [ws.title for ws in wb.worksheets]) # 使用move_sheet()方法移动工作表 wb.move_sheet("Sheet2", 1) # 将"Sheet2"移动到第二个位置 # 打印移动后的工作表顺序 print("移动后的顺序:", [ws.title for ws in wb.worksheets]) # 保存工作簿到文件 wb.save("moved_workbook.xlsx")
在这个示例中,首先创建了一个新的工作簿,并创建了两个工作表。然后,获取要复制的工作表"Sheet1",并使用copy_worksheet()方法将其复制到工作簿中。最后,打印复制后的工作表的名称,并保存工作簿到文件"copied_workbook.xlsx"。
注意:copy_worksheet()方法会创建一个新的工作表对象,并复制原始工作表的所有内容和格式。因此,复制后的工作表将与原始工作表完全相同。
Copyright © 2017-Now pnotes.cn. All Rights Reserved.
编程学习笔记 保留所有权利
MARK:3.0.0.20240214.P35
From 2017.2.6