python自动化系列:自动复制一个工作簿的所有工作表到其他工作簿

news2024/10/23 8:26:31

在这里插入图片描述

作品介绍

作品名称:自动复制一个工作簿的所有工作表到其他工作簿

开发环境:PyCharm 2023.3.4 + python3.7

用到的库:os、xlwings

作品效果:

实现过程

一、代码设计

以下是代码的详细说明:

  1. 导入模块:
  • import os:导入Python的操作系统接口模块,用于处理文件和目录。

  • import xlwings as xw:导入xlwings库,这是一个可以操作Excel的Python库。

  1. 定义函数:
  • def copy_data(direct, src):定义了一个名为copy_data的函数,它接受两个参数:direct(目标目录的路径)和src(源工作簿的路径)。
  1. 检查目录和文件:
  • 使用os.path.isdir(direct)检查direct是否是一个有效的目录。

  • 使用os.path.exists(src)检查src路径的文件是否存在。

  1. 启动Excel应用:
  • app = xw.App(visible=False, add_book=False):启动Excel应用,设置为不显示界面,并且不添加新的工作簿。
  1. 加载工作簿和工作表:
  • workbook = app.books.open(src):打开源工作簿。

  • worksheet = workbook.sheets:获取源工作簿中的所有工作表。

  1. 遍历目标目录中的文件:
  • for i in os.listdir(direct):遍历direct目录中的所有文件。

  • if os.path.splitext(i)[1] == '.xlsx':检查文件扩展名是否为.xlsx

  1. 打开目标工作簿并复制工作表:
  • workbooks = app.books.open(os.path.join(direct, i)):打开目标目录中的.xlsx文件。

  • for j in worksheet:遍历源工作簿中的所有工作表。

  • contents = j.range('A1').expand('table').value:获取工作表j从A1开始的表格数据。

  • workbooks.sheets.add(name=name, after=len(workbooks.sheets)):在目标工作簿中添加一个新的工作表,并命名为源工作表的名称。

  • workbooks.sheets[name].range('A1').value = contents:将复制的数据粘贴到新添加的工作表的A1单元格开始的位置。

  1. 保存并关闭工作簿:
  • workbooks.save():保存目标工作簿的更改。
  1. 异常处理:
  • except Exception as e:捕获并打印出在执行过程中发生的任何异常。
  1. 清理资源:
  • finally:无论是否发生异常,都会执行的代码块。

  • for book in app.books:遍历所有打开的工作簿并关闭它们。

  • app.quit():退出Excel应用。

  1. 设置路径并调用函数:
  • 设置directory_pathfile_path变量。

  • 调用copy_data(directory_path, file_path)函数执行复制操作。

“”" 自动复制一个工作簿的所有工作表到其他工作簿 “”" import os import xlwings as xw

def copy_data(direct, src):
if not os.path.isdir(direct):
print(‘指定的路径不是一个目录’)
return
if not os.path.exists(src):
print(‘文件路径不正确,请检查’)
return
# 启动Excel应用,不显示界面
app = xw.App(visible=False, add_book=False)
try:
# 加载工作簿
workbook = app.books.open(src)
worksheet = workbook.sheets
for i in os.listdir(direct):
if os.path.splitext(i)[1] == ‘.xlsx’:
workbooks = app.books.open(os.path.join(direct, i))
for j in worksheet:
# 添加新的工作表
contents = j.range(‘A1’).expand(‘table’).value
name = j.name
workbooks.sheets.add(name=name, after=len(workbooks.sheets))
workbooks.sheets[name].range(‘A1’).value = contents
workbooks.save()
except Exception as e:
print(f"错误信息: {e}")
finally:
# 关闭所有打开的工作簿
for book in app.books:
book.close()
# 关闭Excel实例
app.quit()

directory_path = ‘./目录’ file_path = ‘./汇总表.xlsx’
copy_data(directory_path, file_path)

The End

这篇文章到这里就结束了,主要还是介绍一些ADB以及图像相关的基础操作。谢谢大家的观看。

同时我也为大家整理好了python入门的学习基本语法,可以帮大家省下不少时间。

全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

如果你想要入门python,给大家准备了一份:282G全网最全的python资料包免费领取!

结语

对于已经走上转行道路的同学,不要再去在意网上的各种言论,请坚定地走下去。考虑那些负面的消息和情绪对你当下的情况已没有任何帮助。这个时候我们只有去想每个问题该如何解决,自己还欠缺什么。如果说环境不好,就业岗位少,就去琢磨那些找到工作的人有什么优势,自己如何弥补,而不是抱怨大环境。接受现实,努力适应,是能改善现状的唯一办法。

获取方式:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1843300.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

物联网主机E6000:动环监控的全新解决方案!

物联网主机E6000在动环监控中的应用,标志着一场新的技术革命。随着科技的进步,特别是在物联网领域,数据采集和处理已经成为企业运营不可或缺的一环。 E6000作为一款支持多协议、多接口的全能型物联网主机,其在动环监控领域的应用…

详解Spring AOP(二)

目录 1.切点表达式 1.1execution表达式 1.2 annotation 1.2.1自定义注解MyAspect 1.2.3添加自定义注解 2.Sping AOP原理 2.1代理模式 2.1.1静态代理 2.1.2动态代理 2.1.3JDK动态代理 2.1.4CGLIB动态代理 3.总结 承接上文:详解Spring AOP(一&…

【GO】rotatelogs库和sirupsen/logrus库实现日志功能的实践用例

“github.com/sirupsen/logrus” 是一个 Go 语言的日志库,它提供了一种简单、灵活的方式来记录日志。该库的主要特点包括: 支持多种日志输出目标,如控制台、文件等。 支持日志轮转,可以按照时间或文件大小进行轮转。 支持日志格式…

【投稿优惠|稳定出版】2024年体育、健康与食品安全国际学术会议(ICSHFS 2024)

【投稿优惠|稳定出版】2024年体育、健康与食品安全国际学术会议(ICSHFS 2024) 2024 International Conference on Sports, Health, and Food Safety(ICSHFS 2024) 会议简介: 2024年体育、健康与食品安全国际学术会议(ICSHFS 2024…

Navicat和SQLynx功能比较三(数据导出:使用MySQL近千万数据测试)

数据导出的功能在数据库管理工具中是最普遍的功能之一。所以数据导出的功能稳定性和性能也是数据库管理工具是否能很好地满足应用需求的一个考虑因素。 目录 1. 整体比较 2. 示例 2.1 前置环境 2.2 Navicat导出 2.3 SQLynx导出 2.4 性能对比结果(690万行数据&…

用友 打印模版增加打印次数,以付款申请单为例

一些公司需要在纸质单据上加上和电子发票一样的打印次数,具体做法如下: 找到要增加的单据,点击【格式设置】 找到打印,活动文本 设置活动文本,高级属性,在下拉框里找到【打印或显示操作员/次数/时间】或【…

NetSuite 审批工作流与事务处理类型的限制关系

在最近的实践中,用户提出可否对Credit Memo与Vendor Prepayment Application两种事务处理类型进行审批参与,当提出来的时候我们并没有直接在系统中进行测试,而是以常规事务处理的角度认为可以满足客户的需求; 但在沙盒环境中讨论…

【ARMv8/v9 GIC 系列 2.1 -- GIC SPI 中断的 pending 和 clear pending 配置】

文章目录 GIC Pending 和 Clear PendingGICD_ISPENDR<n>GICD_ICPENDR<n>参数<n>编号解释使用举例设置中断ID 100为挂起状态清除中断ID 100的挂起状态 代码实现小结 GIC Pending 和 Clear Pending 在ARMv8体系结构中&#xff0c;GICD_ISPENDR<n> 和 GI…

网页抓取和网页爬取之间有何区别?

随着互联网的发展和信息的爆炸式增长&#xff0c;数据收集和处理已成为企业和个人不可或缺的需求。在此背景下&#xff0c;网页抓取和网络爬虫已成为两种常见的数据收集方法。虽然这两种方法看似相似&#xff0c;但它们的方法和目标存在显著差异。本文将为您详细介绍网页抓取和…

看见未来社区:视频孪生技术打造智慧社区

智慧社区的建设需要创新的技术支撑。智汇云舟创新升级数字孪生为视频孪生技术&#xff0c;通过将真实世界的视频监控与数字模型实时融合&#xff0c;实现了对物理空间的实时实景动态模拟。 针对智慧社区管理业务&#xff0c;以智汇云舟视频孪生平台为支撑&#xff0c;综合承载…

从零开始搭建创业公司全新技术栈解决方案

从零开始搭建创业公司全新技术栈解决方案 关于猫头虎 大家好&#xff0c;我是猫头虎&#xff0c;别名猫头虎博主&#xff0c;擅长的技术领域包括云原生、前端、后端、运维和AI。我的博客主要分享技术教程、bug解决思路、开发工具教程、前沿科技资讯、产品评测图文、产品使用体…

python如何做报表系统

首先我们安装的python和PyQt5要保持一致&#xff0c;要么都是32位或者都是64位。 下载安装&#xff0c;安装完成之后我们记得要设置环境变量。 一路选择“下一步”就可以了。 安装完成之后我们需要验证是否成功。 pyqt5的安装直接安装就可以的&#xff0c;主要更改环境变量~~\p…

使用 Python 中的美丽汤进行网络数据解析的完整指南

Beautiful Soup 是一个广泛使用的 Python 库&#xff0c;在数据提取方面发挥着重要作用。它为解析 HTML 和 XML 文档提供了强大的工具&#xff0c;使从网页中轻松提取有价值的数据成为可能。该库简化了处理互联网上非结构化内容的复杂过程&#xff0c;使您可以将原始网页数据转…

房间灰尘多怎么办?资深保洁推荐除尘最有效的空气净化器

家中的灰尘问题一直是许多人的烦恼&#xff0c;尤其是对尘螨过敏的人来说&#xff0c;灰尘简直是“心头之患”。常言道&#xff1a;“家有尘埃&#xff0c;心头有累。”每天打扫灰尘成了许多人的烦恼&#xff0c;尤其是对尘螨过敏的人来说&#xff0c;灰尘简直是“心头之患”。…

健身器械行业外贸ERP管理降本增效解决方案

随着经济的迅速发展&#xff0c;以及健身锻炼的普及&#xff0c;人们对健身器材的需求量也在大幅度增加。欧美市场增长迅猛&#xff0c;家用健身器材热度飙升&#xff0c;尤其是跑步机、健身单车等轻便型家用健身器材&#xff0c;备受消费者青睐。 出口的主要国家包括&#xf…

主存储器的基本组成+容量扩展+与CPU的连接

1.基本组成 1.主存储器的基本组成和读写操作 主存储器被称为主存/内存。是计算机中存储程序的重要部件 主存储器内部包含了存储体、各种逻辑部件以及控制电路等。 主存是通过寻址的方式对存储体内的存储单元进行读写操作的。 主存首先要从MAR获取地址&#xff0c;之后译码器…

Paper Reading: EfficientAD:毫秒级延迟的准确视觉异常检测

EfficientAD 简介方法高效的patch描述PDN教师pretraining 轻量级的师生模型逻辑异常检测异常图像的标准化 实验局限性 EfficientAD: Accurate Visual Anomaly Detection at Millisecond-Level Latencies EfficientAD&#xff1a;毫秒级延迟的准确视觉异常检测, WACV 2024 paper…

1.4自然语言的分布式表示-word2vec实操

文章目录 0写在前面1数据准备2CBOW模型结构的实现3交叉熵损失函数的前向计算3.1关于cross_entropy_error的计算3.2关于softmax 0写在前面 代码都位于&#xff1a;nlp&#xff1b;其他相关内容详见专栏&#xff1a;深度学习自然语言处理基础_骑着蜗牛环游深度学习世界的博客-CS…

家有老人小孩,室内灰尘危害大!资深家政教你选对除尘空气净化器

哈喽&#xff0c;各位亲爱的朋友们&#xff01;今天我们来聊聊每次大扫除时最让人头疼的问题——灰尘。你有没有发现&#xff0c;两天不打扫&#xff0c;桌子上就能积上一层灰&#xff1b;阳光一照&#xff0c;地板上的灰尘都在跳舞&#xff1b;整理被子的时候&#xff0c;空气…

ONLYOFFICE 文档 8.1 现已发布:功能全面的 PDF 编辑器、幻灯片版式等等

最新版本的 ONLYOFFICE 在线编辑器已经发布&#xff0c;整个套件带来了30多个新功能和432个 bug 修复。阅读本文了解全部更新。 什么是 ONLYOFFICE 文档 ONLYOFFICE 文档是一套功能强大的文档编辑器&#xff0c;支持编辑处理文本文档、电子表格、演示文稿、可填写的表单、PDF&…