python与excel第三节

批量重命名多个工作簿的名称

import os
file_path =
'D:\\TEST\\pythonexcel'
file_list = os.listdir(file_path)
# 给出工作簿名中包含的需要替换的旧关键字和新关键字
old_book_name = '订单'
new_book_name = '产品'
print('修改前名称:',file_list)
for i in file_list:
   
# windows系统中临时文件名的开头是“~$”,判断是否有文件名以“~$”开头的临时文件
   
if i.startswith('~$'):
       
continue
   
# 执行查找和替换,生成新的工作簿名
   
new_file = i.replace(old_book_name,new_book_name)
   
#  os.path.join(路径或文件夹名,[路径或文件夹名或文件名[,...]])os模块中的函数,用于把文件夹名和文件名拼接成一个完整路径
   
old_file_path = os.path.join(file_path,i)# 构造需要重命名工作簿的完整路径
   
new_file_path = os.path.join(file_path,new_file)# 构造重命名后工作簿的完整路径
   
os.rename(old_file_path,new_file_path)

注意:

不能用file_list获得修改的名称,因为修改后的文件名并没有被取出来,需要用os.listdir()方法重新获得。

print('修改前名称:',file_list)

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

假设这样一种情况,一个文件夹下面有多个excel文件,每个excel文件中有多个sheet,在不同的excel中存在同名sheet,需要把这些同名的sheet进行批量修改。

例子:

import os
import xlwings as xw
file_path =
'D:\\TEST\\pythonexcel'
file_list = os.listdir(file_path)
old_sheet_name =
'Sheet1'
new_sheet_name = '订单信息'
app = xw.App(visible=False,add_book=False)
# 第一次循环excel文件
for i in file_list:
# 排除临时文件
   
if i.startswith('~$'):
       
continue
   
old_file_path = os.path.join(file_path,i)
    workbook = app.books.open(old_file_path)

# 第二次循环excelsheet
   
for j in workbook.sheets:
       
if j.name == old_sheet_name:
            j.name = new_sheet_name
    workbook.save()
app.quit()

上面例子中,需要先获得路径下面所有excel文件,循环这些excel文件,在每个循环中再循环读取每个sheet,找出符合条件的sheet进行重命名。

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

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

相关文章

React—— props校验(非typescript校验类型)

非typescript环境下,当我们在封装组件的时候,接受props时传入的内容,需要做类型检测,那我们可以用props校验进行类型的检查。 props校验允许在创建组件的时候,就约定props的格式、类型等 实现步骤: 导入 …

FDU 2018 | 2. 集合交并

文章目录 1. 题目描述2. 我的尝试1. C容器2. 排序二路归并 1. 题目描述 AcWing 3688 集合交并 输入两个集合,分别求其交集和并集中元素的个数,每个集合中可能存在相同的元素,而最终的交集和并集中应该不存在。 输入格式 第一行输入两个整数 n…

MAC IntelliJ IDEA搭建Doris Fe

目录 版本信息 安装环境依赖 拉取源码 下载 Doris 编译依赖 修改系统最大文件句柄数 编译 Doris 配置 Debug 环境 生成 FE 代码 FE模块代码导入 配置 Debug FE 启动 FE 报错问题 版本信息 本次安装的doris版本信息为doris-2.1.0-rc11 IntelliJ IDEA 配置jdk17、m…

数据之王国:解析Facebook的大数据应用

引言 作为全球最大的社交媒体平台之一,Facebook拥有庞大的用户群体和海量的数据资源。这些数据不仅包括用户的个人信息和社交行为,还涵盖了广告点击、浏览记录等多方面内容。Facebook通过巧妙地利用这些数据,构建了强大的大数据应用系统&…

ansible 管理工具以及常用模块

一、前期准备 1、安装 yum install ansible 如果yum源没有ansible,需要提前配置yum源: mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup wget -O…

Web框架开发-Django模型层(数据库操作)

一、ORM介绍 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动ORM是“对象-关系-映…

[C++11] 智能指针(auto_ptr(弃用)、unique_ptr、shared_ptr、weak_ptr)详细解读

说明:本文主要解释auto_ptr、unique_ptr、shared_ptr、weak_ptr这几种智能指针。接下来我们对每一个指针类型进行详细说明并给出一些基本的使用方式,重在深入理解。 在 C 中,auto_ptr、unique_ptr、shared_ptr 和 weak_ptr四种智能指针主要用…

拌合楼管理系统(八) c#海康威视摄像头车牌识别

前言: c#调用海康威视SDK实现车牌识别 原本以为海康威视sdk的Demo里面没有车牌识别的实例,后来发现自己肤浅了,官方是有提供的,只是车牌识别是通过安防布警的方式实现的.程序主动监听,触发告警后获取到车牌信息. 一、接口调用的流程: 首先初始化sdk -> 开…

SQLiteC/C++接口详细介绍sqlite3_stmt类(四)

返回:SQLite—系列文章目录 上一篇:SQLiteC/C接口详细介绍sqlite3_stmt类(三) 下一篇:SQLiteC/C接口详细介绍sqlite3_stmt类(五) 7. sqlite3_bind_parameter_count函数 sqlite3_bind_param…

流畅的 Python 第二版(GPT 重译)(十一)

第二十章:并发执行器 抨击线程的人通常是系统程序员,他们心中有着典型应用程序员终其一生都不会遇到的用例。[…] 在 99%的用例中,应用程序员可能会遇到的情况是,生成一堆独立线程并将结果收集到队列中的简单模式就是他们需要了解…

Java newInstance方法学习

用newInstance与用new是有区别的,区别在于创建对象的方式不一样,前者是使用类加载机制; newInstance方法要求该 Class 对应类有无参构造方法; 执行 newInstance()方法实际上就是使用对应类的无参构造方法来创建该类的实例&#x…

docker离线安装并修改存储目录

docker下载 根据cpu选择不同版本,正常x86就选x86_64 下载地址:https://download.docker.com/linux/static/stable/ docker安装 tar -zxvf arm-docker-25.0.4.tgz sudo cp docker/* /usr/bin/ rm -rf docker/* mkdir /etc/docker vi /etc/docker/daemo…

YOLOV4-车道线检测-车距离预测

1.前言 最近在看华为的CANN框架,发现了一些很有意思的开源算法(本文所有的代码都出自华为开源git发布的代码),华为最近出了AI PRO开发板,想着现在开发板上用用(不想重新配置环境了,麻烦还累),看着代码有onnx的模型&…

浅学redis

一、持久化 1.为什么需要持久化? 如果不将内存中的数据保存到磁盘,那么一旦服务器进程退出,服务器中数据也会消失,所以redis提供了持久化功能 2.RDB(redis database) redis配置中,默认使用RDB…

绝地求生:PUBG延长GPU崩溃时间新方法

相信大家都在被GPU游戏崩溃苦恼已久,PUBG这个游戏崩溃,跟超频是没有多大关系的,只要超频TM5过测,YC过测,或者双烤过测,就没问题。主要是这个游戏的优化不行,特别40系显卡,对内存条也…

C# System.Console.WriteLine的格式化输出

C#中Console.WriteLine()函数输出格式详解 真 C#中Console.WriteLine()函数输出格式详解 假 using System;namespace Test {class TODO {static void Main() {System.Console.WriteLine("!{1,4:D3}!", 12, 24);}} }! 024!{index[,alignment][:formatString]} 其中&a…

免费AI出图神器:StableStudio——定义AI作画新前景

StableStudio:探索艺术与科技的无限交界,StableStudio引领AI智能创作新浪潮! - 精选真开源,释放新价值。 概览 ChatGPT大语言模型AI的诞生引爆了对AIGC的讨论。AIGC 又称生成式 AI (Generative AI),是继专业生产内容&…

VSCode使用MSVC编译器

1.其他大佬的配置&#xff1a;下载和安装库环境 2.安装好C/C插件<选择1.8.4的版本最好>。 3.分别生成对应的默认模板即可。但是其中参数可能需要配置。 task.json {"version": "2.0.0","tasks": [{"type": "cppbuild"…

Python 全栈体系【四阶】(十七)

第五章 深度学习 一、基本理论 3. 深度神经网络训练法则 3.1 损失函数 3.1.1 什么是损失函数&#xff1f; 损失函数&#xff08;Loss Function&#xff09;&#xff0c;也有称之为代价函数&#xff08;Cost Function&#xff09;&#xff0c;用来度量预测值和实际值之间的差…

html5cssjs代码 029 CSS计数器

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