PYTHON筛选特定文件名的文件(关键词筛选,无视不同格式)


import os
import numpy as np
import pandas as pd
import shutil

#os 和 shutil都是python自带模块不用安装

file_path='G:\\360MoveData\\Users\Administrator\\Desktop' 
#被筛选文件所在路径

filename_path='G:\\360MoveData\\Users\\Administrator\\Desktop\\qw.xlsx' 
#目标文件名称列表
houzhuijiaxiaoshudianweishu=4
#这里要更改目标文件的后缀名加上一个小数点的位数 例子.xlsx 对应的位数为5
filelist=os.listdir(file_path)           
#获取被筛选文件夹中的被筛选文件名称

file_name=pd.read_excel(filename_path,sheet_name='Sheet1')   

#读取所需文件列表 将目标文件名读取并储存在file_name中
#读入excel数据是一个dataframe格式数据 需要转换成list
file_name=file_name.iloc[0:190,0:1]#取第一列的固定行数,存储的是目标文件名列形式
file_name
file_name = np.array(file_name)
#np.ndarray()
file_name=file_name.tolist()
print(file_name)
#list
#这里的list是[[1],[2],[3],[4]]需要转换成[123]
b=[] 
for i in file_name: 
    for j in i:
        b.append(j) 
file_name=b
#完成转换
n=0
m=0
#将被筛选文件名遍历,依次对照目标文件名组成的列表
for file in filelist :
    olddir=os.path.join(file_path,file)
    print(olddir)
     #如果被筛选当前个体文件名存在于目标名单,将把该文件复制到目标文件夹(结果)
    file_quhouzhui = file[:-houzhuijiaxiaoshudianweishu]
    if file_quhouzhui in file_name :
        print(file,'在目标目录中')
        n = n+1
        print(n)
        F="G:\\360MoveData\\Users\Administrator\\Desktop\\长庆项目整理过的文件\\解剖区测井数据"   
        #新文件夹名称(先建好)用于存放结果文件
        newdir=os.path.join(F,file) 
        #file是一个带有文件类型后缀的字符串,与F连接起来生成新的存储路径
        shutil.copy(olddir,newdir)     
        #复制到新文件夹中 shutil.copy(文件1,文件2):拷贝文件和权限都进行copy。把1拷贝给2
    else :
        print(file,'不在目标目录中')
        m=m+1
        continue
print('不符合的文件数',m)
print('符合的文件数',n)

纯纯的理工男一枚,只为解决问题而写代码,干货无废话,若对您工作有帮助请您点赞评论,以便于我知晓对您有帮助,您的赞赏是我最大的动力。

  • 30
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值