How to extract one data from various mat files to one txt file
2 views (last 30 days)
Show older comments
My code generates various mat files. I know how to extract one specific data from mat to txt :
Data = load('data001.mat','Vol');
DataField = fieldnames(Data);
dlmwrite('data.txt', Data.(DataField{1}));
But I do not know how to extract the same 'Vol' data of different data00x.mat to the same data.txt.
Thank you for your help.
0 Comments
Accepted Answer
Karim
on 28 Jun 2022
Edited: Karim
on 28 Jun 2022
assuming you want to append the data to the same text file, you can generate the name of the file in a loop:
numFiles = 10;
for i = 1:numFiles
currFile = sprintf( 'data%03d.mat', i)
end
so the full routine would be something like (note that it won't work here since the data files are not attached)
numFiles = 10;
for i = 1:numFiles
currFile = sprintf( 'data%03d.mat', i);
Data = load(currFile,'Vol');
DataField = fieldnames(Data);
dlmwrite('data.txt', Data.(DataField{1}), '-append');
end
More Answers (1)
Nitanshu
on 28 Jun 2022
Hi Anthony
Probably you could take a reference from below code.
% where directory name is the name of directory where all your mat files
% are present.
directory_instance = dir('directory_name');
file_names = {directory_instance.name};
[row_size, col_size] = size(file_names);
for i = 1: col_size
file_name = string(file_names(1, i))
Data = load(file_name,'Vol');
DataField = fieldnames(Data);
dlmwrite('data.txt', Data.(DataField{1}));
end
Hope it helps!
0 Comments
See Also
Categories
Find more on Startup and Shutdown in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!