当前位置: 首页 > news >正文

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'>类型。

http://www.lryc.cn/news/322187.html

相关文章:

  • 计算机网络——计算机网络体系结构
  • 近期常用linux命令总结
  • 变配电站配电监控解决方案--变电站综合自动化系统
  • 【ollama】linux、window系统更改模型存放位置,全网首发2024!
  • Spring 被打暴了! vs Javalin vs Solon
  • IDEA中快速配置Git
  • vscode用SSH远程开发c语言
  • 鸿蒙Next 支持数据双向绑定的组件:Checkbox--Search--TextInput
  • 跨越时空的纽带:探索Facebook如何连接人与人
  • LabVIEW湍流等离子体束热效率优化
  • 21个 JVM 技术点详解(附面试解答)
  • mysql逗号分隔字段拆成行简述
  • 最新梨花带雨网页音乐播放器二开优化修复美化版全开源版本源码下载
  • golang 操作redis
  • macOS - 获取硬件设备信息
  • 突破编程_C++_STL教程( queue 的基础知识)
  • Hystrix 容错机制数据监控可视界面无法加载
  • 【Java】POI解析excel
  • AI浸入社交领域,泛娱乐APP如何抓住新风口?
  • 遥感图像地物分类流程
  • JS13-事件的绑定和事件对象Event
  • pycorrector检测OCR错字实践
  • RDD算子介绍(三)
  • Redis的脑裂问题
  • 【算法】雪花算法生成分布式 ID
  • FFplay使用滤镜添加字幕到现有视频显示
  • 【Python + Django】Django模板语法 + 请求和响应
  • 大数据面试总结 四
  • Spring Boot: 使用MongoOperations操作mongodb
  • PyTorch 深度学习(GPT 重译)(六)