How to save one variable from one .mat file to another .mat file

There are many.mat file (1.mat; 2.mat; 3.mat...), all these files have many variables, however, all these file contains one variable name 'data' (different values in different file). I hope to change the variable name ('data' ) into '1_data.mat, 2_data.mat, 3_data.mat... 'and save these files into another folder. I appreciate it if someone give me some advice. Thanks in advance.

 Accepted Answer

Something like this
files = dir('*.mat');
folder_path = 'C:\...'; % path to folder where you want to save the new files
for i = 1:numel(files)
old_name = files(i).name;
new_name = strrep(old_name, '.mat', '_data.mat');
new_name = fullfile(folder_path, new_name);
data = load(old_name);
data = data.data;
save(new_name, 'data');
end

4 Comments

thanks for your reply. the code run good , but there is no results on the folder where I want to save the new files. could you give me more advice on it? thank you
Have you specified the complete path of the folder? Consider adding a breakpoint and run the code line by line to see where is the issue.
now, the code run well. thank you very much.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!