与上一篇办公自动化13不同的是,此时excel中的名单包含多个sheet,如下
我们新生成的文件夹按照sheet进行归类
代码如下:
import os import numpy as np import pandas as pd import shutil file_path=r'G:咨询费成果文件sum' #文件路径 filename_path=r'G:jmfilters est.xlsx' #文件列表 filelist=os.listdir(file_path) #获取文件夹中的文件名称 file_name=pd.read_excel(filename_path,sheet_name=None) #读取所需文件列表 lst = list(file_name.keys()) for x in range(len(lst)): file_name_ = file_name[lst[x]] F=os.path.join('G:\filter',lst[x]) #新文件夹名称(先建好)(F) os.mkdir(F) file_name_['count']=0 #定义新的一列count,用于计数 for file in filelist: m=file_name_.shape[0] #表格的行数 olddir=os.path.join(file_path,file) #每一个文件路径 for i in range(m): if str(file_name_['name'][i]) in file: #寻找对应的文件名 newdir=os.path.join(F,file) shutil.copy(olddir,newdir) #复制到新文件夹中 file_name_['count'][i]=file_name_['count'][i]+1 #计数 print(file) #打印出文件名,为了看它是不是在运行 else: continue file_name.to_excel('G:\filter\'+lst[x]+'.xlsx') #保存新的文件列表
有问题欢迎留言哦~^_^