Python 从数据帧中的路径移动文件

Python 从数据帧中的路径移动文件,python,pandas,shutil,fnmatch,Python,Pandas,Shutil,Fnmatch,我有一个文件夹,里面有大约60万张照片。我需要移动其中的500张照片。我有一个数据框,其中一列中有这些文件路径作为值。我需要能够循环通过该数据帧,取出特定图像并将其设置在另一个文件夹中 路径是包含文件的完整路径。还有一个仅包含文件名的文件列 以下是数据帧的示例: import pandas as pd dict1 = {'path': ['D:\\images\\train\\roof\\1.jpg', 'D:\\images\\train\\roof\\2.jpg', 'D:\\images\

我有一个文件夹,里面有大约60万张照片。我需要移动其中的500张照片。我有一个数据框,其中一列中有这些文件路径作为值。我需要能够循环通过该数据帧,取出特定图像并将其设置在另一个文件夹中

路径是包含文件的完整路径。还有一个仅包含文件名的文件列

以下是数据帧的示例:

import pandas as pd
dict1 = {'path': ['D:\\images\\train\\roof\\1.jpg', 'D:\\images\\train\\roof\\2.jpg', 'D:\\images\\train\\roof\\3.jpg'
                  ,'D:\\images\\train\\roof\\4.jpg', 'D:\\images\\train\\roof\\5.jpg'],
        'image': ['1.jpg','2.jpg','3.jpg','4.jpg','5.jpg',]}
df = pd.DataFrame(dict1)
df
下面是我试过的。这是基于通配符移动文件的修改版本

import os
import shutil
import fnmatch
def gen_find(filepat,top):
    for path, dirlist, filelist in os.walk(top):
        for name in fnmatch.filter(filelist,filepat):
            yield os.path.join(path,name)

if __name__ == '__main__':
    src = df['path'] # input
    dst = 'D:\\images\\Sample' # desired     location

    filesToMove = gen_find(src)
    for name in filesToMove:
        shutil.move(name, dst)
我还尝试了以下方法:

if __name__ == '__main__':
    src = 'D:\\images\\train\\roof\\'+df['image'] # input
    dst = 'D:\\images\\Sample' # desired     location

    filesToMove = gen_find(src)
    for name in filesToMove:
        shutil.move(name, dst)

你有什么反应?是否存在异常或发生了什么?我得到了以下信息:<代码>类型错误:应为str、bytes或os.PathLike对象,而不是Series打印来自gen_find函数的第一个条目!尝试调试器,例如pycharm,并为yield指令设置断点。查看传递到os.path.join的参数