辦公自動化14-根據多個文件名批量查找文件(文件名存放在多個excel表+新生成的文件夾按sheet命名分類)


與上一篇辦公自動化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')        #保存新的文件列表

有問題歡迎留言哦~^_^


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM