Effacer les filtres
Effacer les filtres

How to add Filename to all variables automatically?

2 vues (au cours des 30 derniers jours)
Mert Dogan
Mert Dogan le 8 Oct 2017
Commenté : Mert Dogan le 8 Oct 2017
Hi, everyone I have 127 variable in a .mat file. I want to add filename to all variables and save them a path like "File\Filename_VariableX" automatically. Thanks a lot.

Réponse acceptée

Walter Roberson
Walter Roberson le 8 Oct 2017
Assuming you want to process a whole directory like this:
projectdir = 'File'; %location to save into
if ~exist(projectdir, 'dir'); mkdir(projectdir); end
dinfo = dir('*.mat');
for fidx = 1 : length(dinfo)
filename = dinfo(fidx).name;
[~, basename] = fileparts(filename);
datastruct = load(filename);
fn = fieldnames(datastruct);
for nidx = 1 : length(fn)
varname = fn{nidx};
outvarname = [basename '_' varname];
outfilename = fullfile(projectdir, [outvarname '.mat']);
outstruct = struct( outvarname, datastruct.(varname) );
save(outfilename, '-struct', outstruct);
end
end
This preserves variable names inside the .mat files.
  3 commentaires
Walter Roberson
Walter Roberson le 8 Oct 2017
save(outfilename, '-struct', 'outstruct');
Mert Dogan
Mert Dogan le 8 Oct 2017
Thanks a lot. Walter can i ask a question ? How can i create file in a path automatically ?

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Predict Remaining Useful Life (RUL) dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by