Filter löschen
Filter löschen

I'm trying to write a code that import several data from multiple folder

4 Ansichten (letzte 30 Tage)
I have a folder that contains 8 sub folders the each sub contains a data that has the same name in the other folder for example main folders name is rotation in the sub theirs side 1 to 8 in each folder theirs a FX.txt data how can i write a code that is going to read each data from the multiple folder i have no idea

Akzeptierte Antwort

Orion
Orion am 14 Apr. 2016
Hi,
you need something like this (adapt it to your path and folders)
% Path of the main folder : Rotation
yourpath = 'C:\Users\YourName\Documents\MATLAB\Rotation';
% Get all the subfolders
ContentInFold = dir(yourpath);
SubFold = ContentInFold([ContentInFold.isdir]); % keep only the directories
% Loop on each folder
MyData = [];
for i = 3:length(SubFold) % start at 3 to skip . and ..
filetoread = fullfile(yourpath,SubFold(i).name,'FX.txt');
% then type your code to read the text files and store in one variable
fileID = fopen(filetoread);
MyData{end+1} = textscan(fileID,'%s\n'); % the format depends of your files
fclose(fileID);
end
  2 Kommentare
Ibrahim Soussi
Ibrahim Soussi am 14 Apr. 2016
thank you for your help however it did work this is the folder and my data view i need to open the folder and get the fx data from each folder
<<
>>

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Orion
Orion am 14 Apr. 2016
The code I showed should work. You just need to adapt it.
% Path of the main folder : Rotation
yourpath = 'H:\Inspection ProjectData\rotation1';
% Get all the subfolders
ContentInFold = dir(yourpath);
SubFold = ContentInFold([ContentInFold.isdir]); % keep only the directories
% Loop on each folder
MyData = [];
for i = 3:length(SubFold) % start at 3 to skip . and ..
filetoread = fullfile(yourpath,SubFold(i).name,'fx.txt'); % <- this is the "fx.txt" file of the ith subfolders
% then type your code to read the text files and store in one variable
fileID = fopen(filetoread);
MyData{end+1} = textscan(fileID,'%s\n'); % the format depends of your files
fclose(fileID);
end
the only line you should probably change is
MyData{end+1} = textscan(fileID,'%s\n');
because this depends on how the data are written in your file and I can't guess it.

Kategorien

Mehr zu Thermodynamics and Heat Transfer 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!

Translated by