通过Book对象的sheets属性可返回一个Sheets对象,它代表了工作簿中的所有工作表。其语法格式如下:
表达式.sheets
参数说明:
表达式:一个Book对象,通常用打开或新建工作簿的方式来创建。
获得一个Sheets对象后,可借助for语句遍历该对象,对工作表执行批量操作。如果要针对单个工作表执行操作,则需要从这个Sheets对象中选取一个Sheet对象。其语法格式如下:
表达式.sheets[工作表索引号或工作表名称]
参数说明:
表达式:一个Book对象,通常用打开或新建工作簿的方式来创建。
工作表索引号:一个整数,0代表第1个工作表,1代表第2个工作表,依此类推。
工作表名称:以字符串形式给出。
应用场景1 选取工作簿中的所有工作表
◎代码文件:sheets属性1.py
◎数据文件:汽车备案信息.xlsx
文件夹“F:\python\第3章”中的工作簿“汽车备案信息.xlsx”有3个工作表,如下图所示。
下面使用Book对象的sheets属性选取该工作簿中的所有工作表。演示代码如下:
1 import xlwings as xw # 导入xlwings模块并简写为xw 2 app = xw.App(visible=False, add_book=False) # 启动Excel程序 3 workbook = app.books.open('F:\\python\\第3章\\汽车备案信息.xlsx') # 打开指定的工作簿 4 worksheets = workbook.sheets # 从指定工作簿中选取所有工作表 5 print(worksheets) # 输出选取的工作表 6 workbook.close() # 关闭工作簿 7 app.quit() # 退出Excel程序
代码运行结果如下:
1 Sheets([<Sheet [汽车备案信息.xlsx]汽车备案信息>, <Sheet [汽车备案信息.xlsx]商用车信息>, <Sheet [汽车备案信息.xlsx]乘用车信息>])
应用场景2 选取工作簿中的指定工作表
◎代码文件:sheets属性2.py
◎数据文件:汽车备案信息.xlsx
下面使用Book对象的sheets属性从工作簿“汽车备案信息.xlsx”中选取第2个工作表。演示代码如下:
1 import xlwings as xw # 导入xlwings模块并简写为xw 2 app = xw.App(visible=False, add_book=False) # 启动Excel程序 3 workbook = app.books.open('F:\\python\\第3章\\汽车备案信息.xlsx') # 打开指定的工作簿 4 worksheet = workbook.sheets[1] # 选取工作簿中的第2个工作表 5 print(worksheet) # 输出选取的工作表 6 workbook.close() # 关闭工作簿 7 app.quit() # 退出Excel程序
代码运行结果如下:
1 <Sheet [汽车备案信息.xlsx]商用车信息>
因为第2个工作表的名称是“商用车信息”,所以第4行代码也可以更改为“worksheet=workbook.sheets['商用车信息']”。这两种选取工作表的方法可根据实际情况灵活选用。