matlab批量读取同一目录下的txt文件

1.MATLAB中一次导入一个txt文件或者其它数据文件很简单,直接通过界面操作就可以了。主页——》导入数据——》选择要导入的数据,我这里是保存的数据点,所以导成数值矩阵,另外我文本文件中每行是逗号间隔的如96,145,所以我这里列分隔符选择逗号,选择好后,点击导入所选内容,工作区内就有了。

 2.上面是每次导入一个txt格式文件,如果需要导入一批,就需要遍历该路径下的所有txt文件的文件名,matlab中给我们提供了dir这个函数,十分方便。这里是读取所有txt文件,所以是dir('父目录路径\*.txt'),读取其它格式文件一样,如读取该路径下的所有png图像文件,则为dir('父目录路径\*.png')。

%读取该目录下的所有txt文件
%namelist  = dir('C:\Users\Administrator\Desktop\基于HOG特征和相关性的轮廓匹配算法matlab\*.txt');
% 读取后namelist 的属性有
% name -- filename
% date -- modification date
% bytes -- number of bytes allocated to the file
% isdir -- 1 if name is a directory and 0 if not



%通过字符串拼接,获取绝对路径可以直接用[],也可以用strcat()函数
path = 'C:\Users\Administrator\Desktop\基于HOG特征和相关性的轮廓匹配算法matlab\';
namelist = dir([path,'*.txt']);
l = length(namelist);
P = cell(1,l);%定义一个细胞数组,用于存放所有txt文件
namelist(i).name;%这里获得的只是该路径下的文件名,如1.txt是相对路径
for i = 1:l
    filename{i} = [path,namelist(i).name];%通过字符串拼接获得的就是绝对路径了
    P{1,i} = load(filename{i});
end

猜你喜欢

转载自blog.csdn.net/qq_24946843/article/details/84841921