加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

[MATLAB]读取文件夹下所有(包括子文件夹下)txt文件,并合并

(2017-03-02 16:23:14)
标签:

matlab

分类: 信号处理
可以读取所有格式相同的txt文件,然后合并。

  
function collectData = read_files_in_folder(folder_name,format,...
  
    fileExt,ignoreSize,collectData)
  
% 使用textscan方法读取文件夹下所有文件,包括子文件夹下文件
  
%folder_name:文件夹路径
  
%format:textscan读取格式,如'%f %f %f %f %f %f %f %f %f %f'
  
%fileExt:读取的文件类型,输入.后缀名,如'.txt'
  
%ignoreSize:忽略小于ignoreSize比特的小文件或文件夹,如5e3
  
listing = dir(folder_name);
  
for ilisting = 3:numel(listing)
 10 
    if listing(ilisting).isdir==1
 11 
        collectData = read_files_in_folder( ...
 12 
            [folder_name,'\',listing(ilisting).name],format,fileExt, ...
 13 
            ignoreSize,collectData);
 14 
    end %发现子文件夹,递归调用
 15 
    if listing(ilisting).bytes <</span> ignoreSize, continue;end %忽略小于ignoreSize比特的文件
 16 
    [pathstr,name,ext] = fileparts(listing(ilisting).name);
 17 
    if ~strcmp(ext,fileExt), continue;end %忽略不符合的文件类型
 18 
    fid = fopen([folder_name,'\',listing(ilisting).name]);
 19 
    data = textscan(fid,format,'CollectOutput',1);
 20 
    data = data{1};
 21 
    fclose(fid);
 22 
    collectData = [collectData;data];
 23 
end

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有