用python批量获取某路径文件夹及子文件夹下的指定类型文件,并按原文件夹结构批量存储处理后的文件 | 您所在的位置:网站首页 › python获取数据集所有子文件路径 › 用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+''+'/'是新路径,这样就可以保存原目录结构 |
CopyRight 2018-2019 实验室设备网 版权所有 |