上QQ阅读APP看书,第一时间看更新
009 在工作簿中根据位置删除工作表
此案例主要通过在Workbook的remove()方法的参数中根据索引位置指定工作表,从而实现在工作簿中根据索引位置删除工作表。当运行此案例的Python代码(A009.py文件)之后,将在“利润表.xlsx”文件中删除月份数为奇数的工作表,保留月份数为偶数的工作表,代码运行前后的效果分别如图009-1和图009-2所示。
图009-1
图009-2
A009.py文件的Python代码如下:
import openpyxl myBook=openpyxl.load_workbook('利润表.xlsx') myNames=myBook.sheetnames i=0;myLength=len(myNames) while i <myLength: #如果工作表表名的月份数为奇数,则删除 if i%2==0: myBook.remove(myBook[myNames[i]]) i+=1 myBook.save('结果表-利润表.xlsx')
在上面这段代码中,myBook.remove(myBook[myNames[i]])表示在工作簿(myBook)中删除指定的工作表(myBook[myNames[i]])。需要注意的是:当在工作簿中删除多个工作表时,应该小心使用索引指定将要删除的工作表,因为每执行一次删除工作表的操作,工作簿的所有工作表的索引将发生变动。
此案例的源文件是MyCode\A009\A009.py。