将Excel从源复制到目标

时间:2018-04-06 15:23:44

标签: python excel shutil

我正在尝试在源目录中复制以XXXXX开头的excel文件,并将它们放入与excel文件的第一个XXXXX匹配的目标目录中。我也只想匹配目标文件夹的第一个XXXXX。然后将文件放入目标文件夹后,我想更改名称。下面的代码只允许我将src excel放入一个名为XXXXX not的文件夹(例如'XXXXX FOLDER'),它只重命名根目录中的文件。想法?

for root, dirs, files in os.walk(dir_src):
    for file in files:
        if file.endswith(".xlsx"):
            filename = file[:5]
            shutil.copy((dir_src +'\\'+file), (dir_dst + '\\'+ filename))
            for filename in glob.glob(os.path.join(dir_dst + '\\'+ filename, '*.xlsx')):
                    os.rename(filename, 'Weekly_Claims.xlsx') 

1 个答案:

答案 0 :(得分:0)

我想我已经明白了......虽然有人可能有更多的pythonic方式做到这一点

import glob,os   
import shutil
import re

for root, dirs, files in os.walk(dir_src):
    for file in files:
        if file.endswith(".xlsx"):
            filename = file[:5]
            src_file = os.path.join(dir_src, file)         
            #search destination subdirectory for folder 
            for root, dirs, files in os.walk(des_test):
                for name in dirs:
                    #if the source filename equals first 5 of the subdirectory name, copy to the des_file
                    if filename == name[:5]:
                        dst_file = os.path.join(des_test, name)
                        shutil.copy(src_file, dst_file)