用python批量获取某路径文件夹及子文件夹下的指定类型文件,并按原文件夹结构批量存储处理后的文件

因为是把自己成功运行的整个代码按几部分截取出来的,所以每一小节代码不一定能单独运行,特此说明。

1.获取某路径文件夹及子文件夹下的指定pcm类型文件的全部路径

import os
def eachfile(filepath):
    pathdir=os.listdir(filepath)
    for s in pathdir:
        newdir = os.path.join(filepath,s) # 将文件名加入到当前文件路径后面
        if os.path.isfile(newdir):     #如果是文件
            if os.path.splitext(newdir)[1]==".pcm": # 如果文件是".pcm"后缀的
                soundfile.append(newdir)
        elif os.path.isdir(newdir):#如果是路径
            eachfile(newdir)#递归
    return soundfile
fp=r'想要处理的文件的路径'
os.chdir(fp)
f=eachfile(fp)
2.按原文件夹结构在其他地方创建存储处理后的数据所用文件夹

import os
fp=r'想要处理的文件的路径'
os.chdir(fp)
soundfile=[]
f=eachfile(fp)
for i in range(len(f)):
    pcm_file=f[i]
    path=os.path.split(f[i])[0]
    mkpath="处理后的文件存储起来的路径"+path #这里的文件夹保存方法可能比较笨拙但是的确有效    
    isExists=os.path.exists(mkpath)
    if not isExists:        
    # 如果不存在则创建目录        
    # 创建目录操作函数
    os.makedirs(mkpath)    
    filename =os.path.split(f[i])[1] #获取文件名    
    index = filename.rfind('.pcm')    
    name = filename[:index]#获取不含后缀的文件名    
    main(pcm_file,path,name)#此处是主函数的调用 
3.将处理后输出的CSV文件存储在设定的路径下,原文件夹结构不变

import numpy
import pandas
import csv
def main(pcm_file,path,name):#主函数
    #主函数具体的参数处理过程添加的这里
    dataframe = pandas.DataFrame(XXXXXX) #XXXXXX是要输出的数组函数,这里用pandas处理数据
    dataframe.to_csv('处理后的文件存储起来的路径'+''+path+''+'/'+name+'.csv',index=False,sep=',')
    #将DataFrame存储为csv格式,index表示是否显示行名,default=True
    #每个文件的名称也不变为name,在第2小节的for循环中,name是所得到的不含后缀的文件名
    #path是原路径,'想要把处理后的文件存储起来的路径'+''+path+''+'/'是新路径,这样就可以保存原目录结

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值