说明:将某文件下的文件夹目录,再下级文件夹目录中的指定excel批量重命名,同时将重命名文件复制到另一个文件夹,并将特定文件名称指定为a1...an,b1...bn,c1...cn。
代码:
缺点:嵌套三个循环性能降低
#环境python3.x
import os
import shutil
#导入文件路径路径
path = 'C:/Users/xxx/xxx/测试'
#复制目标路径
target_path = os.path.abspath(r'C:/Users/xxx/xxx/测试-新')
#获取该目录下所有低一级别子目录,存入列表中
dirlist = os.listdir(path)
akaname = ['a','b','c']
filename = ['1.xlsx','2.xlsx','3.xlsx']
#外层文件夹计数
i = 0
k = 0
for dir in dirlist:
#将path1设置为第一个文件夹
path1 = path + os.sep + dirlist[i]
dirlist1 = os.listdir(path1)
if os.path.isdir(path1):
value1 = os.listdir(path1)
#n为同一文件夹下文件数量
ppop = 0
n = 0
for dir in dirlist1:
#将path2设置为第二个文件夹
path2 = path1 + os.sep + dirlist1[j]
#获取path2文件夹下的文件,存储在value2列表中
if os.path.isdir(path2):
value2 = os.listdir(path2)
for excel in value2:
if value2[ppop] == filename[0]:
#endswith()方法为检测文件后缀
if value2[n].endswith('xlsx'):
#oldname为表格的绝对路径
oldname = path2 + os.sep + value2[ppop]
#newname为新表格的绝对路径
newname = path2 + os.sep + akaname[0] + str(k+1) + '.xlsx'
newname_1 = path2 + os.sep + akaname[0] + str(k+1)
#将文件重命名
os.rename(oldname, newname)
#将重命名文件复制到目标文件
shutil.copy(newname,target_path)
n+=1
elif value2[ppop] == filename[1]:
#endswith()方法为检测文件后缀
if value2[n].endswith('xlsx'):
#oldname为表格的绝对路径
oldname = path2 + os.sep + value2[ppop]
#newname为新表格的绝对路径
newname = path2 + os.sep + akaname[1] + str(k+1) + '.xlsx'
newname_1 = path2 + os.sep + akaname[1] + str(k+1)
#将文件重命名
os.rename(oldname, newname)
shutil.copy(newname,target_path)
n+=1
elif value2[ppop] == filename[2]:
#endswith()方法为检测文件后缀
if value2[n].endswith('xlsx'):
#oldname为表格的绝对路径
oldname = path2 + os.sep + value2[ppop]
#newname为新表格的绝对路径
newname = path2 + os.sep + akaname[2] + str(k+1) + '.xlsx'
newname_1 = path2 + os.sep + akaname[2] + str(k+1)
#将文件重命名
os.rename(oldname, newname)
shutil.copy(newname,target_path)
n+=1
ppop+=1
k+=1
i+=1
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)