python根据多个文件名批量查找文件

本文实例为大家分享了python根据多个文件名批量查找文件的具体代码,供大家参考,具体内容如下

老板给了我一个文件列表,让我在一堆文件中挑出来,他要的文件有500多个,一堆文件有上千个,而且给的是关键词,不是完整的文件名。

我先做了类似的文件测试一下,一个名为filename的excel表

又做了一个文件夹

接下来运行代码

import os

import numpy as np

import pandas as pd

import shutil

file_path='/home/disk/yh_test/myfiles' #文件路径

filename_path='/home/disk/yh_test/filename.xlsx' #文件列表

filelist=os.listdir(file_path) #获取文件夹中的文件名称

file_name=pd.read_excel(filename_path) #读取所需文件列表

file_name['count']=0 #定义新的一列count,用于计数

for file in filelist:

m=file_name.shape[0] #表格的行数

olddir=os.path.join(file_path,file) #每一个文件路径

for i in range(m):

if str(file_name['name'][i]) in file: #寻找对应的文件名

F="/home/disk/yh_test/myfiles_filter/" #新文件夹名称(先建好)

newdir=os.path.join(F,file)

shutil.copy(olddir,newdir) #复制到新文件夹中

file_name['count'][i]=file_name['count'][i]+1 #计数

print(file) #打印出文件名,其实我是为了看它是不是在运行

else:

continue

file_name.to_excel('file_name_count.xlsx') #保存新的文件列表

运行结果如下:

新的文件夹myfiles_filter中文件是这样的:

有关键字的文件都被复制过来了。

新的列表里就有关键字出现的次数。

以上是 python根据多个文件名批量查找文件 的全部内容, 来源链接: utcz.com/z/341948.html

回到顶部