Open multiple files from the same folder with fopen and textscan
20 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Tessa Kol
am 26 Aug. 2020
Bearbeitet: Stephen23
am 26 Aug. 2020
In matlab I wrote the following code:
fid = fopen('LedgeTest_muSP_0.20_muRP_0.20.data.852','r');
% Read all the data from the file
dataRead = textscan(fid,'%f %f %f %f %f %f %f %f %f %f %f %f %f %f','HeaderLines',1);
expData = [dataRead{1}(:,1) dataRead{2}(:,1) dataRead{3}(:,1) dataRead{7}(:,1) dataRead{3}(:,1)+dataRead{7}(:,1) rhoPart*(4/3)*pi*(dataRead{7}(:,1).^3)];
Problem: How can I open en read multiple files from the same folder?
Problem example: All of the 5 .data files are located in the same folder together with the matlab code (see picture below)
In a for loop I want to extract the data from each .data file.
0 Kommentare
Akzeptierte Antwort
Mohammad Sami
am 26 Aug. 2020
You can use a for loop to iterate over the files;
files = dir(fullfile(pwd,'*.data*'));
data = cell(length(files),1);
for i = 1:length(files)
fid = fopen(fullfile(files(i).folder,files(i).name),'r');
% Read all the data from the file
dataRead = textscan(fid,'%f %f %f %f %f %f %f %f %f %f %f %f %f %f','HeaderLines',1);
data{i} = [dataRead{1}(:,1) dataRead{2}(:,1) dataRead{3}(:,1) dataRead{7}(:,1) dataRead{3}(:,1)+dataRead{7}(:,1) rhoPart*(4/3)*pi*(dataRead{7}(:,1).^3)];
end
alldata = vertcat(data{:});
0 Kommentare
Weitere Antworten (1)
Stephen23
am 26 Aug. 2020
Bearbeitet: Stephen23
am 26 Aug. 2020
Following the examples in the documentation:
D = 'absolute or relative path to the folder where the files are saved';
S = dir(fullfile(D,'Ledge*.data.*'));
fmt = repmat('%f',1,14);
opt = {'HeaderLines',1, 'CollectOutput',true};
for k = 1:numel(S)
fnm = fullfile(D,S(k).name);
[fid,msg] = fopen(fnm,'rt');
assert(fid>=3,msg)
tmp = textscan(fid,fmt,opt{:});
fclose(fid);
mat = tmp{1};
... process mat data
S(k).data = mat;
end
0 Kommentare
Siehe auch
Kategorien
Mehr zu Data Import and Export finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!