python与excel第四节 批量新增、删除工作表

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

假设,一个文件夹下面有多个excel文件,需要再每个excel文件中增加一个sheet。

例子:

import os
import xlwings as xw
file_path =
'D:\\TEST\\pythonexcel'
file_list = os.listdir(file_path)
sheet_name =
'产品销售区域'
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]
   
print(sheet_names)
   
if sheet_name not in sheet_names:
        workbook.sheets.add(sheet_name)
        workbook.save()
app.quit()

上面例子,需要循环路径下面所有excel文件,获得每个excel文件的sheet,判断准备新增的sheet名称是否已经存在在excel文件中,如果没有就新增。

其中,[j.name for j in workbook.sheets]  是一种简化写法,循环读取excel中文件名返回名称组成的列表。workbook.sheets.add(sheet_name) 这个add方法就是在excel文件中增加sheet的方法。

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

假设,需要删除一个文件夹下面多个excel文件中的相同sheet名称的sheet。

例子:

import os
import xlwings as xw
file_path =
'D:\\TEST\\pythonexcel'
file_list = os.listdir(file_path)
sheet_name =
'订单表'
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:
            j.delete()
           
break
   
workbook.save()
app.quit()

上面,同样是双重循环来读取每一个sheet来判断是否是准备删除的sheet名称的sheet,其中j.delete()方法,即sheet对象的delete()方法是用来删除指定sheet的。

在这里j是<class 'xlwings.main.Sheet'>类型。

相关推荐

  1. pythonexcel 批量新增、删除工作

    2024-03-21 19:46:06       46 阅读
  2. pythonexcel 拆分工作簿

    2024-03-21 19:46:06       34 阅读
  3. pythonexcel 打印excel

    2024-03-21 19:46:06       38 阅读
  4. JDBC批量处理

    2024-03-21 19:46:06       45 阅读
  5. pythonexcel第二

    2024-03-21 19:46:06       42 阅读
  6. Python】按升序排列 Excel 工作

    2024-03-21 19:46:06       57 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-21 19:46:06       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-21 19:46:06       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-21 19:46:06       87 阅读
  4. Python语言-面向对象

    2024-03-21 19:46:06       96 阅读

热门阅读

  1. GIS插值算法--克里金插值算法

    2024-03-21 19:46:06       38 阅读
  2. REINFORCE算法

    2024-03-21 19:46:06       36 阅读
  3. Acwing1113. 红与黑

    2024-03-21 19:46:06       47 阅读
  4. OSDI 2023

    2024-03-21 19:46:06       45 阅读
  5. 在Spring Boo动态修改日志级别

    2024-03-21 19:46:06       40 阅读
  6. ClickHouse聚合函数groupUniqArray如何理解?

    2024-03-21 19:46:06       37 阅读
  7. binary.write 和 binary.read

    2024-03-21 19:46:06       37 阅读