Import text files from multiple folders
2 次查看(过去 30 天)
显示 更早的评论
I am trying to import data from multiple text files spread out between multiple folders. In this example of a previous question, what could I do to grab data from every file in each folder, rather than just one particular file?
% 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
1 个评论
Jan
2018-3-22
How are the files recognize, which you want to process? Do all files have the same name?
回答(1 个)
Jan
2018-3-22
If all files are called "fx.txt" and you are using a Matlab version >= R2016b:
FileList = fullfile(yourpath, '**', 'fx.txt');
for iFile = 1:numel(FileList)
filetoread = fullfile(FileList(iFile).folder, FileList(iFile).name);
...
end
Note: It is not documented, that '.' and '..' are the first two folders replied by dir. This might change with the operating system and file system. Prefer a ismember(Name, {'.', '..'}.
1 个评论
Nima Sho
2022-1-21
Hello Jan
Regarding the question discussed above, I have a main Folder, named 'Results', which contains 44 folders, named 1 to 44. Each of these 44, has 20 subFolders inside itself, named by some various numbers. In each of these 20, there are some txt files and I will use a specific one of them named 'drifts'.
By using above-mentioned txt files, I'll plot 44 curves, each one is made up of 20 points.
How can I address these txt files exist in multiple folders and then subfolders.
Thanks for your time and attention
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Preparation Basics 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!