python根据文件名列表筛选满足条件的文件

18 篇文章 1 订阅

根据文件名列表筛选满足条件的文件:
输入:
1)含有文件名列表的文件(Excel格式,如.xls格式);
如文件名列表中有name=2,name=3等

2)一个文件夹含有多个文件,即包含需要筛选的文件。
需要在文件中查找文件名满足name=2,name=3的两个文件,并提取出来放在其他文件夹中。

代码:

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

file_path=r'./data'  
filename_path=r'./name.xls'  

filelist=os.listdir(file_path)       
file_name=pd.read_excel(filename_path)  
for file in filelist:
    print(file)
for file in filelist:
    file_row=file_name.shape[0]   
    olddir=os.path.join(file_path,file) 
    for i in range(file_row):
        if str(file_name['name'][i]) in file:   
            F=r"./data_filter" 
            newdir=os.path.join(F,file)
            shutil.copy(olddir,newdir)      
        else:
            continue
print('done!')

更新20220701:之前代码使用in ,不能准确找到文件,应该用==

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


file_path=r'path1'  
     
df=pd.read_excel(r'./1.xlsx' )  

save_path=r"./test" 

for file in os.listdir(file_path) :
    file_row=df.shape[0]   #FID
    olddir=os.path.join(file_path,file) 
    
    for i in range(file_row):
        if str(df['FID'][i]) == file.split('_')[4]:              
            newdir=os.path.join(save_path,file)
            shutil.copy(olddir,newdir)      
        else:
            continue

print('done!')

参考资料:
https://www.cnblogs.com/lizitingxue/p/12607636.html

https://blog.csdn.net/qq_27601097/article/details/100541097

https://zhuanlan.zhihu.com/p/101330634

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值