Python+Excel系列:案例四:批量重命名多个工作簿、批量重命名多个工作簿中的同名工作表

2022-09-19 14:16:24

批量重命名多个工作簿

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

import os#导入os模块
file_path='e:/table/text'#给出待命名工作簿所在文件夹的路径
file_list= os.listdir(file_path)#列出文件夹下所有文件和子文件夹的名称
old_book_name='text'#给出工作簿名中需要替换的旧关键字
new_book_name='table'#给出工作簿名中要替换为的新关键字for iin file_list:if i.startswith('~$'):#判断是否有文件名以“~$”开头的临时文件continue#如果有,则跳过这种类型的文件
    new_file= i.replace(old_book_name,new_book_name)#执行查找和替换,生成新的工作簿名
    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)#执行重命名

代码解析

因为Excel会在使用过程中生成一些文件名以“~$”开头的临时文件,所以这里用第7行代码的if语句判断是否有这种类型的文件,如果有则跳过,不做处理,继续处理其他文件。

第9~11行代码用于构造工作簿的路径字符串,第12行代码则根据构造的路径字符串真正执行重命名操作

扩展

第7行代码中的startswith()是Python内置的字符串函数,用于判断字符串是否以指定的子字符串开头。该函数的语法格式和常用参数含义如下。需要注意的是,如果存在参数beg和end,则在指定范围内检索,否则将在整个字符串中检索。
在这里插入图片描述
第10行和第11行代码中的os.path.join()是os模块中的函数,用于把文件夹名和文件名拼接成一个完整路径,该函数的语法格式和常用参数含义如下
在这里插入图片描述
第12行代码中的rename()是os模块中的函数,用于重命名文件和 文件夹

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

import os#导入os模块import xlwingsas xw
file_path='e:/table/text'#给出待命名工作簿所在文件夹的路径
file_list= os.listdir(file_path)#列出文件夹下所有文件和子文件夹的名称
old_sheet_name='Sheet1'#给出需要修改的工作表名
new_sheet_name='信息表'#列出修改后的工作表名
app= xw.App(visible=False,add_book=False)for iin file_list:if i.startswith('~$'):#判断是否有文件名以“~$”开头的临时文件continue#如果有,则跳过这种类型的文件
    old_file_path= os.path.join(file_path,i)
    workbook= app.books.open(old_file_path)for iin workbook.sheets:if j.name== old_sheet_name:#判断工作表名是否为“sheet”
            j.name= new_sheet_name#如果是,则重命名工作表
        workbook.save()
app.quit()
  • 作者:菜菜努力码
  • 原文链接:https://blog.csdn.net/qq_51843109/article/details/125333853
    更新时间:2022-09-19 14:16:24