其他分享
首页 > 其他分享> > matlab文件批量导入问题总结

matlab文件批量导入问题总结

作者:互联网

matlab R2014a,想要批量导入一个文件夹中的3000个txt文件,文件命名规则为“0-0.txt”到“159-199.txt",每个txt文件有200个数值(数值模板如下),想要将这些文件批量读入到matlab中,变成一个32000*200的矩阵,怎么操作呢?求大神附代码指导!!txt文件数值如下:
-1.000000
-1.000000
2.000000
2.000000
0.000000
-1.000000
1.000000
1.000000
1.000000
-1.000000
当前代码编辑为:files=dir('F:\Mocahan\2\*.txt');
mn=size(files,1);
for i=1:20
str = files(i).name;
A = load(str);
B= A(:,1:0);
end

运行时报错了,显示为“错误使用 load;无法读取文件 '0-0.txt': 没有此类文件或目录。”
如果你的txt不在当前目录下,需要将完整路径给出,load(['F:\Mocahan\2\' str])

现在有一个文件夹 里面有800个的txt文件 文件的名字按照数字顺序从1到800 每个TXT文件内容 共三列数字 每列1000行
,以逗号分隔,我只需要第三列有用数字
现在我想写一个.M文件 批量读取和处理这个文件夹里的txt文件

 

  1. function mytextread
  2. clc
  3. [filename pathname index]=uigetfile('.jou','请选择结果文件','','MultiSelect','on');
  4. if index
  5. if iscell(filename)
  6.    len=size(filename,2);
  7.    res=[];col_title=cell(1,len);
  8.    for i=1:len
  9.        fid=fopen([pathname filename{i}]);
  10.        col_title{i}=strtok(filename{i},'.jou');
  11.        [val pos]=textscan(fid,'%s%f','headerLines',6,'commentStyle','-');
  12.        
  13.        val=cell2mat(val(:,2));
  14.        fclose(fid);
  15.        res=[res val];
  16.    end
  17. end
  18. xlswrite(strcat(pathname,'\','res.xls'),{'Cavity10','Cavity9', 'Cavity8' ,'Cavity7' ,'Cavity6' ,'Cavity5', 'Cavity4', 'Cavity3', 'Cavity2', 'Cavity1' ,'mean'},1,'B1')
  19. xlswrite(strcat(pathname,'\','res.xls'),col_title',1,'A2')
  20. xlswrite(strcat(pathname,'\','res.xls'),res',1,'B2')
  21. end

 

  1. namelist=dir(['D:\1exdata\us_data_jiay','*.txt']);
  2. path(path,'D:\1exdata\us_data_jiay') 
  3. l = length(namelist); 
  4. for i=1:l               file_name{i}=namelist(i).name;           x{i}= load(file_name{i});
  5. end
  6. namelist = dir('D:\1exdata\us_data_jiay\*.txt');
  7. file_name = {namelist.name};
  8. l = length(file_name); 
  9. for i=1:l                          
  10.     x{i}= load(file_name{i});
  11. end

标签:文件,文件批量,end,name,res,导入,matlab,txt,1.000000
来源: https://blog.csdn.net/qq_39989653/article/details/89088106