在python中基于Dataframe创建文件夹

在python中基于Dataframe创建文件夹,python,pandas,dataframe,directory,Python,Pandas,Dataframe,Directory,我有这个数据框。我想创建Id为name的文件夹,并想使用python将Id重复的图像放在路径“F:/images/”中的一个文件夹中 input: Image Id 0 00022e1a.jpg w_e 1 000466c4.jpg w_1 2 00087b01.jpg w_e 3 001296d5.jpg w_1 4 00

我有这个数据框。我想创建Id为name的文件夹,并想使用python将Id重复的图像放在路径“F:/images/”中的一个文件夹中

input:
              Image          Id
        0     00022e1a.jpg  w_e
        1     000466c4.jpg  w_1
        2     00087b01.jpg  w_e
        3     001296d5.jpg  w_1
        4     0014cfdf.jpg  w_2
        5     0025e8c2.jpg  w_3
        6     0026a8ab.jpg  w_1
    output:
        Folder w_e: 00022e1a.jpg,  00087b01.jpg
        Folder w_1: 000466c4.jpg, 000466c4.jpg,  0026a8ab.jpg
        Folder w_2:0014cfdf.jpg 
        Folder w_3:0025e8c2.jpg
我认为需要:

#create Series for unique index values of dirs and lists for file names 
s = df.groupby('Id')['Image'].apply(list)

import os, glob, shutil
#get all images from folder  
src_files = glob.glob('E:/Images/*.jpg')
#create dictionary for lookup values from DataFrame
lookup = {x.split('\\')[-1]:x for x in src_files}
print (lookup)

#loop by Series 
for directory, files in s.items():
    #first create folders
    path = os.path.join('E://Images//', directory)
    if not os.path.exists(path):
        os.makedirs(path)

    for file in files:
        #get path of each image, if not exist return None
        orig = lookup.get(file, None)
        #copy files from DataFrame
        if orig is not None:
            dest = os.path.join(path, file)
            shutil.copy(orig, dest)

如果我的答案有帮助,别忘了——点击答案旁边的复选标记,将其从灰色变为填充。谢谢