iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python批量处理工作簿和工作表的实现示例
  • 759
分享到

Python批量处理工作簿和工作表的实现示例

2024-04-02 19:04:59 759人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录批量新建并保存工作簿批量打开一个文件夹中的打开工作簿批量重命名一个工作簿的所有工作表批量重命名多个工作簿批量重命名多个工作簿中的同名工作表将一个工作簿的所有工作表批量复制到其他工

批量新建并保存工作簿

代码


import xlwings as xw
# 启动 excel,但不新建工作簿
app = xw.App(visible=True,add_book=False)

for i in range(5):
 #新建工作簿
    workbook = app.books.add()
    #保存工作簿
    workbook.save(f'test{i}.xlsx')
    #将工作簿关闭
    workbook.close()

批量打开一个文件夹中的打开工作簿


import xlwings as xw
import os
# 给出工作簿所在的文件夹路径
path_file = r'E:/python1/Python_module'
# 列出该文件夹中所有的子文件或子文件夹
file_list = os.listdir(path_file)
# 启动Excel
app = xw.App(visible=True,add_book=False)

for i in file_list:
    # 判断文件是否为 Excel文件
    if os.path.splitext(i)[1] =='.xlsx':
        #打开
        app.books.open(i)

批量重命名一个工作簿的所有工作表


import xlwings as xw

# 启动Excel
app = xw.App(visible=True,add_book=False)
# 打开工作簿
workbook = app.books.open('table.xlsx')
#获取工作簿的所有工作表
worhsheets = workbook.sheets

for i in range(len(worhsheets)):
    # 重命名工作表
    worhsheets[i].name = worhsheets[i].name.replace('销售','')
#另存重命名后的工作簿
workbook.save('table1.xlsx')
#退出Excel程序
app.quit()

批量重命名多个工作簿

不过这是有前提条件的,要重命名的工作簿名必
须是有规律的,如表1、表2、表3;或者含有相同的关键字。


import xlwings as xw
import os
# 给出工作簿所在的文件夹路径
path_file = r'E:/python1/python_module'
# 列出该文件夹中所有的子文件或子文件夹
file_list = os.listdir(path_file)
old_book_name = '销售表'
new_book_name = '分部销售表'
# 启动Excel
app = xw.App(visible=True,add_book=False)

for i in file_list:
    if i.startswith('~$'):
        continue
    # 执行查找和替换,生成新的工作簿名
    new_file = i.replace(old_book_name,new_book_name)
    # 构造需要重命名工作簿的完整路径
    old_path_filr = os.path.join(path_file,i)
    #构建重命名后工作簿的完整路径
    new_path_file = os.path.join(path_file,new_file)
    # 重命名
    os.rename(old_path_filr,new_path_file)

if i.startswith('~$'):
continue

因为Excel会在使用过程中生成一些文件名以"~$"开头的临时文件,如果有这些文件就跳过。

批量重命名多个工作簿中的同名工作表

步骤

  • 打印出文件夹中所有子文件的名称
  • 与文件夹路径拼接成完整的文件名后,打开
  • 遍历文件中的所有工作表,如果名字相同就更改
  • 保存工作表目录

代码:


import xlwings as xw
import os
# 给出工作簿所在的文件夹路径
path_file = r'E:/python1/python_module'
# 列出该文件夹中所有的子文件或子文件夹
file_list = os.listdir(path_file)
old_sheet = 'sheet1'
new_sheet = '员工信息'
app = xw.App(visible=True,add_book= False)
 # 遍历工作簿
for i in path_file:
    if i.startswith('~$'):
        continue
    # 拼接出完整路径
    old_path_file = os.path.join(path_file,i)
    # 打开工作簿
    workbook = app.books.open(old_path_file)
    # 遍历工作表
    for j in workbook.sheets:
        if j.name == old_sheet:
            j.name = new_sheet
    # 保存工作簿
    workbook.save()
app.quit()

将一个工作簿的所有工作表批量复制到其他工作簿

步骤:

  • 获取目标(复制到的)文件夹的所有子文件
  • 开源文件(被复制的),并获取其所有的工作表信息。
  • 遍历所有的子文件,如果是Excel文件就打开
  • 在目标工作簿中新增工作表
  • 将来源工作表的数据写入新增工作表中

代码


import xlwings as xw
import os
# 给出工作簿所在的文件夹路径
path_file = r'E:/python1/python_module'
# 列出该文件夹中所有的子文件或子文件夹
file_list = os.listdir(path_file)
app = xw.App(visible=True,add_book= False)
workbook = app.books.open('来源工作簿路径')
worksheet = workbook.sheets
 # 子文件
for i in path_file:
    if os.path.splitext(i)[1] =='.xlsx':
        # 打开工作簿
        workbooks = app.books.open(path_file+'/'+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
        # 保存工作簿
        workbook.save()
app.quit()

.expand()是xlwings模块中的函数,用于扩展选择范围。语法格式如下

expand(mode) 默认值是 ‘table',表示向整个数据表扩展。也可以是'down'(下方)或'right'(右方)

按条件将一个工作表拆分为多个工作簿


import  os
import xlwings as xw

filr_path = 'e:\\table\\产品统计表.xlsx'
sheet_name = '统计表'

app = xw.App(visible = True ,add_book= False)
# 打开工作簿
workbooh = app.books.open(filr_path)
# 获取指定的工作表
worksheet = workbooh.sheets[sheet_name]
# 读取工作表中的所有信息
value = worksheet.range('A2').expand('table').value
# 创建一个空字典用于按产品名称来分类存放数据
data = dict()
#按行遍历工作表数据
for i in range(len(value)):
    # 获取当前行的第一个空格中的数据
    product_name = value[i][1]
    # 如果没有该产品
    if product_name not in data:
        # 创建一个与当前行名称对应的空列表
        data[product_name] = []
    # 将当前数据追加当列表中
    data[product_name].append(value[i])

for key,value in data.items():
    # 新建目标工作簿
    new_workbook = app.books.add()
    #新建工作表
    new_sheet = new_workbook.sheets.add(key)
    # 将要拆分的工作表的列标题复制到新建的工作表中
    new_sheet['A1'].value = worksheet['A1:H1'].value
    # 将数据复制
    new_sheet['A2'].value = value
    new_workbook.save('{}.xlsx'.fORMat(key))

app.quit()

到此这篇关于Python批量处理工作簿和工作表的实现示例的文章就介绍到这了,更多相关Python批量处理工作簿和工作表内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python批量处理工作簿和工作表的实现示例

本文链接: https://www.lsjlt.com/news/134704.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python批量处理工作簿和工作表的实现示例
    目录批量新建并保存工作簿批量打开一个文件夹中的打开工作簿批量重命名一个工作簿的所有工作表批量重命名多个工作簿批量重命名多个工作簿中的同名工作表将一个工作簿的所有工作表批量复制到其他工...
    99+
    2024-04-02
  • Python自动化之批量处理工作簿和工作表的示例分析
    这篇文章主要介绍Python自动化之批量处理工作簿和工作表的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、批量新建并保存工作簿import xlwings as xw&nbs...
    99+
    2023-06-15
  • Python自动化之批量处理工作簿和工作表
    目录一、批量新建并保存工作簿二、批量打开一个文件夹下的所有工作簿三、批量重命名一个工作簿中所有工作表四、批量重命名工作簿五、在多个工作簿中批量新增/删除工作表六、批量打印工作簿七、将...
    99+
    2024-04-02
  • ExcelVBA按列拆分工作表和工作簿的实现
    目录1,工作表按列拆分为工作表2,工作表按列拆分为工作簿3,工作簿按列拆分3.1,复制法3.2,删除法4,工作表按列拆分,支持多列关键值改进《将excel按照某一列拆分成多个文件》,...
    99+
    2023-01-29
    Excel VBA按列拆分 Excel VBA 拆分
  • Excel·VBA合并工作簿的实现示例
    目录1,合并文件夹下所有工作簿1.1,合并且建立超链接目录2,合并工作簿中所有工作表2.1,纵向合并2.2,横向合并3,合并文件夹下所有工作簿中所有工作表3.1,合并且显示原工作簿名...
    99+
    2023-01-29
    Excel VBA合并 VBA合并
  • 工作簿和工作表的区别是什么
    工作簿和工作表的区别是:1、工作簿是一个包含多个工作表的文件,而工作表是工作簿中的一个单独的表格;2、工作簿是整个文件,用于存储和管理多个工作表,而工作表是文件中的一个组成部分,用于存储和分析数据。本教程操作环境:windows10系统、D...
    99+
    2023-08-03
  • 工作簿和工作表的区别有哪些
    工作簿和工作表的区别是:1、工作簿是 Excel 文件的顶层容器,可以将它看作是一个文件夹或一个容器,用于存储一个或多个工作表;2、工作表是工作簿中的一个单独的电子表格页面,用于进行数据输入、计算、分析和可视化。本教程操作系统:Window...
    99+
    2023-08-16
  • Python 实现多表和工作簿合并及一表按列拆分
    目录一、相关知识点讲解1.1 需要使用的相关库1.2 os.walk(pwd)1.3 os.path.join(path1,path2…)1.4 案例解析1.5 如何在...
    99+
    2024-04-02
  • Python怎么实现多表和工作簿合并及一表按列拆分
    今天小编给大家分享一下Python怎么实现多表和工作簿合并及一表按列拆分的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、相...
    99+
    2023-06-30
  • OpenCV+Qt实现图像处理操作工具的示例代码
    目录一、目标二、使用Qt界面三、图像处理操作完整代码一、目标 Qt界面实现 雪花屏 高斯模糊 中值滤波 毛玻璃 灰度化 XY方向模糊 双边模糊 腐蚀 [图像处理操作] 要求左边原图,...
    99+
    2022-11-13
    OpenCV Qt图像处理 OpenCV 图像处理 Qt 图像处理
  • GoLangRabbitMQ实现六种工作模式示例
    目录六种工作模式介绍1.简单(Simple)模式2.工作队列(Work Queue)模式3.发布/订阅(Pub/Sub)模式4.路由(Routing)模式5.通配符(Tpoic)模式...
    99+
    2022-12-17
    GoLang RabbitMQ工作模式 RabbitMQ工作模式
  • Memcached工作原理的示例分析
    这篇文章主要介绍Memcached工作原理的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Memcached的工作原理。Memcached处理的原子是每一个(key,valu...
    99+
    2024-04-02
  • MyBatis工作原理的示例分析
    这篇文章给大家分享的是有关MyBatis工作原理的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、Mybatis工作原理Mybatis分层框架图Mybatis工作原理图源码分析:一般都是从hellowo...
    99+
    2023-06-15
  • Struts2工作原理的示例分析
    这篇文章主要介绍Struts2工作原理的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、工作原理在Struts2框架中的处理大概分为以下几个步骤      ...
    99+
    2023-05-30
    struts2
  • PHP 表单处理的工具和库:增强你的工作流程
    内置函数 PHP 本身提供了几种内置函数用于处理表单数据: $_GET 和 $_POST:存储通过 GET 和 POST 方法提交的表单数据。 filter_var:过滤和验证表单输入,防止恶意代码和无效数据。 htmlspecialc...
    99+
    2024-03-14
    表单处理
  • C++实现将数据写入Excel工作表的示例代码
    目录安装Spire.XLS for C++在 C++ 中将文本或数字值写入单元格完整代码效果图在 C++ 中将数组写入指定的单元格范围完整代码效果图直观的界面、出色的计算功能和图表工...
    99+
    2023-03-11
    C++数据写入Excel C++ 数据 Excel C++ Excel
  • RabbitMQ实现WorkQueue工作队列的示例详解
    RabbitMQ Work Queue工作队列 工作队列(又称任务队列)的主要思想是避免立即执行资源密集型任务,而不得不等待它完成。 相反我们安排任务在之后执行。我们把任务封装为消...
    99+
    2023-01-10
    RabbitMQ Work Queue工作队列 RabbitMQ Work Queue RabbitMQ 工作队列
  • Python小工具:五分钟处理完一天的工作量,真香
    简介FFmpeg 是一套强大的音视频处理程序,也是很多音视频软件的基础,事实上,FFmpeg 已经成为业界音视频处理的标准了。但命令行使用 FFmpeg 是有一定学习成本的,而 ffmpeg-python 库则很好的解决了这个问题。通过 p...
    99+
    2023-05-23
    工具 Python
  • SpringBoot批处理的实现示例
    目录1.添加依赖2.添加配置信息3.在项目启动类上添加@EnableBatchProcessing注解开开启SpringBatch支持4.配置批处理5.实体类6.创建Controll...
    99+
    2024-04-02
  • python中Pexpect工作流程的示例分析
    这篇文章主要为大家展示了python中Pexpect工作流程的示例分析,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“python中Pexpect工作流程的示例分析”这篇文章吧。python是什么意...
    99+
    2023-06-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作