與上一篇辦公自動化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:\jm\filters\test.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') #保存新的文件列表
有問題歡迎留言哦~^_^