Borrar filtros
Borrar filtros

How to add Filename to all variables automatically?

2 visualizaciones (últimos 30 días)
Mert Dogan
Mert Dogan el 8 de Oct. de 2017
Comentada: Mert Dogan el 8 de Oct. de 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.

Respuesta aceptada

Walter Roberson
Walter Roberson el 8 de Oct. de 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 comentarios
Walter Roberson
Walter Roberson el 8 de Oct. de 2017
save(outfilename, '-struct', 'outstruct');
Mert Dogan
Mert Dogan el 8 de Oct. de 2017
Thanks a lot. Walter can i ask a question ? How can i create file in a path automatically ?

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Predict Remaining Useful Life (RUL) en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by