批量重命名excel工作簿&打印当前目录及目录下文件

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

import xlwings as xw #导入xlwings模块
app = xw.App(visible = False, add_book = False)#启动EXCEL程序
workbook = app.books.open('.\\工作簿.xlsx') #打开工作簿
worksheets = workbook.sheets #获取工作簿中的所有工作表
for i in range(len(worksheets)): #遍历获取到的工作表
    worksheets[i].name = worksheets[i].name.replace('旧字段名','新字段名') #重命名工作表
workbook.save('.\工作簿2.xlsx') #另存重命名工作表后的工作簿
#如果不行另存而是直接就保存可以修改为如下代码
#workbook.save()
app.quit() #退出程序

2\批量重命名多个工作簿
前提条件:工作簿的名称有规律

import os #导入os模块
file_path = '.\\要修改包含工作簿的文件夹'   #给出待重命名工作部所在的文件夹
file_list = os.listdir(file_path)  #列出文件夹下所有文件和子文件夹的名称
old_book_name = '表'  #给出工作簿名中要替换的旧关键字
new_book_name = '工作表'  #给出工作簿名中要替换的新的关键字
for i in 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) #完成重命名

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

import os
import xlwings as xw
file_path = '.\\文件夹'
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) #打开工作簿
    for j in workbook.sheets:               #遍历工作簿中的每一个工作表
        if j.name == old_sheet_name:#判段工作表是否待修改
            j.name = new_sheet_name  #若是,重命名工作表
    workbook.save()   #保存工作簿
app.quit() #退出Excel 程序

4\关于文件重命名的知识点小结(os模块)
重命名文件和文件夹

#获取当前运行的python代码文件路径
import os
file_path = os.getcwd
#列出指定的路径的文件夹包含的文件和子文件夹名称(以列表形式显示)
# file_list = os.listdir(file_path1)
#分离文件主名和文件扩展名(例如:工作簿名+.xlsx)
file_path = "工作簿名.xlsx"
separate =os.path.splitext(file_path)
separate
#输出('工作簿名', '.xlsx')
#要将d盘list文件夹下的test1文件重命名为test2
import os
old_name="d\\list\\test1.xlsx"
new_name="d\\list\\test2.xlsx"
os.rename(old_name,new_name)
# 运行之后test1xlsx会被重命名为test2.xlsx
#rename()函数除了可以重命名文件,还可以修改文件的路径,执行以下代码为d\\list中的test1.xlsx文件被移动到"d\\pand文件夹下并且命名为est2.xlsx"
import os
old_name="d\\list\\test1.xlsx"
new_name="d\\pand\\test2.xlsx"
os.rename(old_name,new_name)
#打印当前目录及目录下文件
import os
root=os.getcwd()
for root, dirs, files in os.walk(root):
    print("-----------")
    print(root)   #os.walk()所在目录
    print(dirs)   #os.walk()所在目录的所有目录名
    print(files)   #os.walk()所在目录的所有非目录文件名
    print(" ")
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容