how to save lists into mat-file while keeping their original name?

1 visualización (últimos 30 días)
JP
JP el 19 de Nov. de 2019
Comentada: Fangjun Jiang el 20 de Nov. de 2019
Hi,
I am currently trying to read in a couple of xlsx-files (basically lists, that consist of one column of 1 to 4 numeric values) into a mat-file.
My problem is that the code below only saves one xlsx-file - named 'I' - into the mat-file.
I want to save every xlsx-file within the folder into the mat-file under their original names (=baseFileName).
Is there any way to do this?
myDir = uigetdir('*.*', 'Please select Input Folder');
myFiles = dir(fullfile(myDir,'*.xlsx'));
for k = 1:length(myFiles)
baseFileName = myFiles(k).name;
fullFileName = fullfile(myDir, baseFileName);
I = xlsread(fullFileName);
save('v1.mat','I', '-append')
end

Respuestas (1)

Fangjun Jiang
Fangjun Jiang el 19 de Nov. de 2019
for k = 1:length(myFiles)
baseFileName = myFiles(k).name;
fullFileName = fullfile(myDir, baseFileName);
I{k} = xlsread(fullFileName);
end
save('v1.mat','I')
  2 comentarios
JP
JP el 19 de Nov. de 2019
thank you for your reply, unfortunately this does not solve my problem.
Firstly, there is still only one file saved into the v1.mat file and it is still called 'I'.
Also, and I should have prevised this before, 'I' is now a matrix (shown as '{}'), but the lists are supposed to be read in and saved as vectors, I believe.
Fangjun Jiang
Fangjun Jiang el 20 de Nov. de 2019
for k = 1:length(myFiles)
baseFileName = myFiles(k).name;
fullFileName = fullfile(myDir, baseFileName);
[~,MatFile]=fileparts(baseFileName);
I = xlsread(fullFileName);
save(MatFile,'I')
end

Iniciar sesión para comentar.

Categorías

Más información sobre Scripts en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by