用python批量获取某路径文件夹及子文件夹下的指定类型文件,并按原文件夹结构批量存储处理后的文件 您所在的位置:网站首页 python获取数据集所有子文件路径 用python批量获取某路径文件夹及子文件夹下的指定类型文件,并按原文件夹结构批量存储处理后的文件

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

2024-01-07 14:21| 来源: 网络整理| 查看: 265

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

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 实验室设备网 版权所有