如何使用openpyxl获取Excel工作簿的第n个工作表(无需指定工作表名)
openpyxl按索引获取工作表的实现方法
你可以通过以下两种方式不依赖工作表名称,直接按顺序获取指定位置的工作表:
- 方法1:直接读取
worksheets属性获取工作表对象列表worksheets是工作簿对象自带的有序列表,存储了所有工作表的实例,索引从0开始计数,对应工作表标签从左到右的排序:
from openpyxl import load_workbook wb = load_workbook(filename = xlsx_dir) # xlsx_dir 是工作簿的文件路径 # 获取第1个工作表(最左侧的工作表) ws = wb.worksheets[0] # 获取任意第n个工作表(n≥1,对应索引为n-1,例如下方取第3个工作表) n = 3 ws_n = wb.worksheets[n-1]
- 方法2:先通过
sheetnames属性获取工作表名列表,再按名称取值
如果后续还需要用到对应位置的工作表名,可以用这个方法:
from openpyxl import load_workbook wb = load_workbook(filename = xlsx_dir) # xlsx_dir 是工作簿的文件路径 # 获取所有工作表名的有序列表 sheet_name_list = wb.sheetnames # 获取第1个工作表 ws = wb[sheet_name_list[0]] # 获取任意第n个工作表(例如下方取第2个工作表) n = 2 ws_n = wb[sheet_name_list[n-1]]
提示:两种方法的索引逻辑完全一致,优先推荐第一种方法,代码更简洁,执行效率也更高。
内容的提问来源于stack exchange,提问作者Sibasish Barik
相关产品推荐
相关产品推荐

