01 问题描述
在工作中,总能遇到分配任务的问题,例如我自己的工作中,一大堆的影像图(一个影像图是几个文件组成),要根据地区分发给不同的同事,如果用电脑本身的搜索文件工具,然后依次拷贝给各个同事,是很崩溃的一件事情(文件多而且很大)。
这里我将问题稍微简化下,具体流程还是一样的,那我们来看下需求吧。
首先我们有一个任务表,这里是不同员工需要的数据。
接着我们来看我们的数据源,每个数据对应了txt和xlsx格式。
简单的说就是,一个任务有两个文件(txt和xlsx),根据任务表,将这些数据分发到不同的文件夹下(文件夹取名为员工名字)。
解决方法
那我们来一步步解决这个问题:
① 读入任务表,用于后文任务的检索。
import pandas as pd
task = pd.read_excel('任务.xlsx',sheetname='Sheet1')
task['任务'] = task['任务'].astype('object')
task
这里将任务数据的格式转换为字符串。
② 通过员工字段唯一值,来建立相应的文件夹。
for t in task['员工'].unique():
os.makedirs(t)
③ 循环任务数据,以及员工任务,当任务数据在当前员工的任务中时,就对数据进行移动。
import os
import shutil
path = '数据/'
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]['任务']):
shutil.move(path+task_list,t+'/'+task_list)
这样,就能完美的把数据分发给不同的人啦。
网友评论