Python+Excel系列:案例四:在多个工作簿中批量新增工作表、在多个工作簿中批量删除工作表

在多个工作簿中批量新增工作表

import os #导入os模块

import xlwings as xw #导入xlwings模块
file_path = 'e:/table/text' #给出要新增工作表的工作簿所在的文件夹路径
file_list = os.listdir(file_path) #列出文件夹下所有文件和子文件夹的名称
sheet_name = 'sheet_add' #给出要新增的工作表的名称
app = xw.App(visible=False,add_book=False)
for i in file_list:
    if i.startswith('~$'):#判断是否有文件名以“~$”开头的文件
        continue #如果有,则跳过这种类型的文件
    file_paths = os.path.join(file_path,i) #构造需要新增工作表的工作簿的文件路径
    workbook = app.books.open(file_paths) #根据路径打开需要新增工作表的工作簿
    sheet_names = [j.name for j in workbook.sheets] #获取打开的工作簿中所有工作表的名称
    if sheet_name not in sheet_names: #判断工作薄中是否不存在名为“sheet_add”的工作表
        workbook.sheets.add(sheet_name) #如果不存在,则新增工作表“sheet_add”
        workbook.save()
app.quit()

知识补充:

第9行代码中的continue语句在案例四的代码中也出现过,它只能与for语句或while语句搭配使用,功能是跳过当前循环的剩余语句,然后继续进行下一轮循环,其运行流程如下图所示。continue语句通常配合if 语句使用,如第8行和第9行代码。
Python+Excel系列:案例四:在多个工作簿中批量新增工作表、在多个工作簿中批量删除工作表_第1张图片

在多个工作簿中批量删除工作表

import os #导入os模块

import xlwings as xw #导入xlwings模块
file_path = 'e:/table/text' #给出要新增工作表的工作簿所在的文件夹路径
file_list = os.listdir(file_path) #列出文件夹下所有文件和子文件夹的名称
sheet_name = 'sheet_delet' #给出要删除的工作表的名称
app = xw.App(visible=False,add_book=False)
for i in file_list:
    if i.startswith('~$'):#判断是否有文件名以“~$”开头的文件
        continue #如果有,则跳过这种类型的文件
    file_paths = os.path.join(file_path,i) #构造需要新增工作表的工作簿的文件路径
    workbook = app.books.open(file_paths) #根据路径打开需要新增工作表的工作簿
    for j in workbook.sheets:
        if j.name ==sheet_name: #判断工作簿中是否有名为“sheet_delete”的工作表
            j.delete() #如果有,则删除该工作表
            break
    workbook.save()
app.quit()

你可能感兴趣的:(python+Excel,python,Excel)