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

news/2024/7/21 6:38:28 标签: python, excel, 开发语言, 删除sheet, 新增sheet

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

假设,一个文件夹下面有多个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'>类型。


http://www.niftyadmin.cn/n/5441509.html

相关文章

解释Python中的可变和不可变类型

在Python编程中&#xff0c;理解可变与不可变类型是一个核心概念&#xff0c;它影响着代码的行为、内存管理以及性能优化。可变类型是指可以在不改变其身份&#xff08;即内存地址&#xff09;的情况下修改其内容的对象&#xff0c;而不可变类型则是指一旦创建&#xff0c;其内…

sheng的学习笔记-AI-Inception network

目录&#xff1a;sheng的学习笔记-AI目录-CSDN博客 基础知识 构建卷积层时&#xff0c;你要决定过滤器的大小究竟是11&#xff08;原来是13&#xff0c;猜测为口误&#xff09;&#xff0c;33还是55&#xff0c;或者要不要添加池化层。而Inception网络的作用就是代替你来决定&…

vue项目设置通过IP和localhost可同时访问

vue项目设置通过IP和localhost可同时访问 打开package.json文件 在要运行的分支下添加host,最后重新运行项目 重新运行项目 "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js --host 0.0.0.0",

【机器学习】基于麻雀搜索算法优化的BP神经网络分类预测(SSA-BP)

目录 1.原理与思路2.设计与实现3.结果预测4.代码获取 1.原理与思路 【智能算法应用】智能算法优化BP神经网络思路【智能算法】麻雀搜索算法&#xff08;SSA&#xff09;原理及实现 2.设计与实现 数据集&#xff1a; 多输入多输出&#xff1a;样本特征24&#xff0c;标签类别…

OpenGL学习笔记【2】——开发环境配置(GLFW,VS,Cmake),创建第一个项目

学OpenGL的都会知道&#xff0c;OpenGL只提供了绘图功能&#xff0c;创建窗口是需要自己完成的。这就需要学习相应操作系统的创建窗口方法&#xff0c;为简化创建窗口的过程&#xff0c;可以使用专门的窗口库&#xff0c;例如GLFW。使用GLFW之前需要先进行配置&#xff0c;那怎…

遥感图像地物分类流程

遥感图像地物分类流程 1. 制作标签 使用arcgis pro或者arcgis或者envi&#xff0c;画标签&#xff0c;保存为tiff格式 2. 处理标签数据 用python gdal库安装 osgdal库&#xff0c;如果安装失败就需要下载 对应库得 .whl去安装&#xff0c;网站具体搞忘了&#xff0c;可以百…

MyBatis:编织数据之美的艺术

在数据库交互的舞台上&#xff0c;MyBatis就如同一位出色的编码艺术家&#xff0c;通过其独特的姿态和技巧&#xff0c;将数据库操作变得既优雅又高效。在这篇博客中&#xff0c;我们将深入研究MyBatis的使用详解&#xff0c;揭开其中的奥秘&#xff0c;感受数据之美的艺术之旅…

html5cssjs代码 029 CSS计数器

html5&css&js代码 029 CSS计数器 一、代码二、解释 该HTML代码定义了一个网页的结构和样式。在头部&#xff0c;通过CSS样式定义了body和h1-h2元素的样式。body元素的样式包括文本居中、计数器重置、字体颜色和背景颜色。h2元素的样式使用了CSS计数器来自动在标题前添加…