批量重命名多个工作簿
** 前提条件:要重命名的工作簿名必须是有规律的,如表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()