python根据多个文件名的关键词批量查找文件

本文介绍了一种使用Python批量筛选文件夹中特定关键词文件的方法,并统计这些关键词出现的次数,涉及的操作包括读取Excel文件列表、遍历文件夹、复制文件及更新Excel列表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

老板给了我一个文件列表中,只有关键词,让我在一堆文件中把这些带有关键词的挑出来,并且统计关键词出现的次数。
我先做了类似的文件测试一下,一个名为filename的excel表
filename

又做了一个文件夹
myfiles

接下来运行代码

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中文件是这样的:
在这里插入图片描述有关键字的文件都被复制过来了。
count
新的列表里就有关键字出现的次数。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值