01 問題描述
在工作中辩尊,總能遇到分配任務(wù)的問題康辑,例如我自己的工作中,一大堆的影像圖(一個影像圖是幾個文件組成)疮薇,要根據(jù)地區(qū)分發(fā)給不同的同事,如果用電腦本身的搜索文件工具劳秋,然后依次拷貝給各個同事胖齐,是很崩潰的一件事情(文件多而且很大)。
這里我將問題稍微簡化下呀伙,具體流程還是一樣的,那我們來看下需求吧剿另。
首先我們有一個任務(wù)表贬蛙,這里是不同員工需要的數(shù)據(jù)阳准。
接著我們來看我們的數(shù)據(jù)源,每個數(shù)據(jù)對應(yīng)了txt和xlsx格式野蝇。
簡單的說就是括儒,一個任務(wù)有兩個文件(txt和xlsx),根據(jù)任務(wù)表帮寻,將這些數(shù)據(jù)分發(fā)到不同的文件夾下(文件夾取名為員工名字)。
解決方法
那我們來一步步解決這個問題:
① 讀入任務(wù)表澜躺,用于后文任務(wù)的檢索。
import pandas as pd
task = pd.read_excel('任務(wù).xlsx',sheetname='Sheet1')
task['任務(wù)'] = task['任務(wù)'].astype('object')
task
這里將任務(wù)數(shù)據(jù)的格式轉(zhuǎn)換為字符串抒蚜。
② 通過員工字段唯一值,來建立相應(yīng)的文件夾操漠。
for t in task['員工'].unique():
os.makedirs(t)
③ 循環(huán)任務(wù)數(shù)據(jù)饿这,以及員工任務(wù),當任務(wù)數(shù)據(jù)在當前員工的任務(wù)中時长捧,就對數(shù)據(jù)進行移動。
import os
import shutil
path = '數(shù)據(jù)/'
task_lists = os.listdir(path)
for task_list in task_lists:
for t in task['員工'].unique():
if (task_list.split('.')[0]) in list(task[task['員工'] == t]['任務(wù)']):
shutil.move(path+task_list,t+'/'+task_list)
這樣哑子,就能完美的把數(shù)據(jù)分發(fā)給不同的人啦。