将excel中的目录和列中的匹配文件名(pdf)复制到Python中的新目录中

将excel中的目录和列中的匹配文件名(pdf)复制到Python中的新目录中,python,file-handling,shutil,Python,File Handling,Shutil,将目录中的文件(pdf)与excel csv中作为列提供的名称列表进行比较,并使用python仅将那些与新文件匹配的文件保留在目录中,或将新文件复制到现有目录中。如何执行此操作。检查下面的答案。这将从目录中删除所有pdf文件。我想要的是将文件名与csv中的列匹配,只保留这些文件名并删除其余文件名。不管怎样,你想这么做吗?ThanksMate,首先,您的问题结构不正确,根本没有投入精力,也没有提供您创建的任何示例代码。所以,首先要学习最重要的事情:把问题弄清楚并正确。您没有说明csv文件中有哪些名

将目录中的文件(pdf)与excel csv中作为列提供的名称列表进行比较,并使用python仅将那些与新文件匹配的文件保留在目录中,或将新文件复制到现有目录中。如何执行此操作。

检查下面的答案。这将从目录中删除所有pdf文件。我想要的是将文件名与csv中的列匹配,只保留这些文件名并删除其余文件名。不管怎样,你想这么做吗?ThanksMate,首先,您的问题结构不正确,根本没有投入精力,也没有提供您创建的任何示例代码。所以,首先要学习最重要的事情:把问题弄清楚并正确。您没有说明csv文件中有哪些名称,因此我假设它包含您要从目录中删除的名称列表。如果您想将一些文件插入dir_path目录,只需将os.remove更改为例如shutil.copy并在末尾添加os.remove即可。“我想要的是匹配文件名”您想要匹配的文件名是什么?(哪个目录?)。。。“以csv格式显示列”此列包含什么内容?什么文件名?什么目录。。。只保留那些“你想保留哪些文件?”。。。“并删除其余文件。”您要删除哪些文件?对于给您带来的不便,深表歉意。答案是:1。excel中只有一列包含大约600行pdf文件名。我的目录中有相同的pdf文件名,还有300多个(总共900个pdf文件)。我想筛选我的目录,使其仅包含csv中存在的600个文件名。现在清楚了吗?请检查下面的答案。这将从目录中删除所有pdf文件。我想要的是将文件名与csv中的列匹配,只保留这些文件名并删除其余文件名。不管怎样,你想这么做吗?ThanksMate,首先,您的问题结构不正确,根本没有投入精力,也没有提供您创建的任何示例代码。所以,首先要学习最重要的事情:把问题弄清楚并正确。您没有说明csv文件中有哪些名称,因此我假设它包含您要从目录中删除的名称列表。如果您想将一些文件插入dir_path目录,只需将os.remove更改为例如shutil.copy并在末尾添加os.remove即可。“我想要的是匹配文件名”您想要匹配的文件名是什么?(哪个目录?)。。。“以csv格式显示列”此列包含什么内容?什么文件名?什么目录。。。只保留那些“你想保留哪些文件?”。。。“并删除其余文件。”您要删除哪些文件?对于给您带来的不便,深表歉意。答案是:1。excel中只有一列包含大约600行pdf文件名。我的目录中有相同的pdf文件名,还有300多个(总共900个pdf文件)。我想筛选我的目录,使其仅包含csv中存在的600个文件名。现在清楚了吗?行了,伙计。谢谢。我所做的唯一改变是将“if x.replace”('.pdf','')部分删除为“if x”部分。谢谢。我所做的唯一更改是将“if x.replace('.pdf','')部分删除为“if x”
dir_path = 'mydir'
file_path = 'foo.csv'

f = pd.read_csv(file_path, names=['A'])
ll1 = [os.remove(os.path.join(dir_path, x)) for x in os.listdir(dir_path) if x.replace('.pdf', '') not in f['A'].tolist()]