最近在使用MATLAB做数据处理时,发现MATLAB在文件上的处理并不像 python 一样方便,但也还是支持文件操作的,下面的代码参考自mathwork官方文档 https://ww2.mathworks.cn/help/matlab/file-operations.html
在’E:/matlabTest’路径下有testData1 - testData13共计13个文件夹,每个文件夹下都有一个test.mat数据,需要做的是从上述文件夹中load test.mat进行处理后保存到’E:/matlabTest2’路径下。
dir_path = 'E:\matlabTest'; %输入路径
save_dir = 'E:\matlabTest2'; %输出路径
fileFolder=ls(dir_path); %列出路径下所有的文件
for i=3:15 %去掉前两个元素,注意matlab的数组index从1开始
file_path = strcat(dir_path,strtrim(fileFolder(i,:)),'test.mat');
load(file_path);
mkdir(strcat(save_dir,strtrim(fileFolder(i,:)))) %创建新的文件夹
file_name = strcat(save_dir,strtrim(fileFolder(i,:)),'test.mat');
save(file_name,'data','-v7.3'); %保存文件
end
在’E/matlabTest’文件夹中一共有13个文件夹,要做的事遍历这些文件夹,同时拿到这13个文件夹中的所有文件。
path = 'E:/matlabTest'
files = ls(path)

使用 ls 命令,会输出以下内容,输出的是一个str类型的数组,并且数组的前两个元素是 . 和 … ,如果进行处理的时候最好检查一下输出数组中是不是所需的内容。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删