用到的函数主要有shutil.copy()、os.path.join()、pd.merge()。
import os
import pandas as pd
from pandas import Series,DataFrame
import numpy as np
import shutil
#先从分工表里提取出自己的分工
org_data=pd.read_excel('分工表.xlsx',sheet_name='最终清单')
df=org_data[org_data['责任人']=='mmm']
#将分工给自己的表名转为list,选取表文档路径的时候是为了保证表名的完整性
tablenames=df['表文档路径'].tolist()
#然后根据表名从对应的文件夹中提取出需要自己处理的原始表
oldpath=r'D/programs/all/' #原始文件所在文件夹
newpath=r'D/programs/input/'
#定义一个函数去对照分工表提取出的表名将需要处理的原始表从原始文件夹提取到整理后的文件夹中
def mycopy(srcpath,dstpath,filename):
if not os.path.exists(srcpath):
print("srcpath not exist!")
if not os.path.exists(dstpath):
print("dstpath not exist!")
for root,dirs,files in os.walk(srcpath):
if filename in tablenames:
#如果存在就复制,使用shutil函数
shutil.copy(os.path.join(root,filename),dstpath)
else:
#不存在就将文件名打印