从按顺序命名的不同文件夹中检索数据
Retrieve data from different folders that are named sequentially
我有几个文件夹,每个文件夹按顺序命名,即左中 P1、中左 P2 等。在每个文件夹中,我有 38 个“.dat”文件,其中包含我要分析的数据。是否可以创建一个 Matlab 脚本来打开每个文件夹并检索“.dat”文件?对不起,我是 matlab 的新手,之前我一直在 Matlab 中手动命名每个文件以获得我需要的数据。但在这种情况下,这将花费太长时间。
问候,
杰瑞
您可以使用 dir
command and fullfile
命令来达到这个目的。
myData = cell(1,numFolders);
for p=1:numFolders
folderName = sprintf('Center Left P%d', p ); % current folder name
%// working with relative paths. If abs paths are used, remove leading '.'
datFiles = dir( fullfile( '.', folderName, '*.dat' ) ); %// should return a list of all dat files in specific folder
myData{p} = cell( 1, numel(datFiles) );
for di=1:numel(datFiles)
myData{p}{di} = importdata( fullfile( '.', folderName, datFiles(di).name ) ); %// read data
end
end
我有几个文件夹,每个文件夹按顺序命名,即左中 P1、中左 P2 等。在每个文件夹中,我有 38 个“.dat”文件,其中包含我要分析的数据。是否可以创建一个 Matlab 脚本来打开每个文件夹并检索“.dat”文件?对不起,我是 matlab 的新手,之前我一直在 Matlab 中手动命名每个文件以获得我需要的数据。但在这种情况下,这将花费太长时间。 问候, 杰瑞
您可以使用 dir
command and fullfile
命令来达到这个目的。
myData = cell(1,numFolders);
for p=1:numFolders
folderName = sprintf('Center Left P%d', p ); % current folder name
%// working with relative paths. If abs paths are used, remove leading '.'
datFiles = dir( fullfile( '.', folderName, '*.dat' ) ); %// should return a list of all dat files in specific folder
myData{p} = cell( 1, numel(datFiles) );
for di=1:numel(datFiles)
myData{p}{di} = importdata( fullfile( '.', folderName, datFiles(di).name ) ); %// read data
end
end