Python辅助Word+Excel:让办公更高效
上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。