How do I import data files to column vectors in a loop?
8 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello,
I'm trying to import some data from different .xlsx files into column vectors in Matlab. All files look the same, only the values are different.
Right now Matlab only shows me one vector of each (A,B,C,D,..). I need to have the vectors A,B,C,.. for all files that I read. For example A1,A2,A3,B1,B2,B3,...
Can anyone help me?
Thanks in advance!
---------------------------------
In the code below I make use of a Matlab generated code to import the file into a column vector.
numFiles = 3;
range = 'A1:G100';
sheet = 1;
for fileNum = 1:numFiles
fileName = sprintf('document%1d.xlsx',fileNum);
[A,B,C,D,E,F,G] = importfile(fileName,sheet,range);
end
0 commentaires
Réponse acceptée
Michael Haderlein
le 5 Mar 2015
I don't know your importfile function, but in general you can do it the following way:
for fileNum = 1:numFiles
fileName = sprintf('document%1d.xlsx',fileNum);
[A(:,fileNum),B(:,fileNum),C(:,fileNum),D(:,fileNum),E(:,fileNum),F(:,fileNum),G(:,fileNum)] = importfile(fileName,sheet,range);
end
Plus de réponses (1)
Stephen23
le 5 Mar 2015
Modifié(e) : Stephen23
le 5 Mar 2015
numFiles = 3;
range = 'A1:G100';
sheet = 1;
for k = 1:numFiles
fileName = sprintf('document%1d.xlsx',k);
[A{k},B{k},C{k},D{k},E{k},F{k},G{k}] = importfile(fileName,sheet,range);
end
You can access the data using the same cell array indexing, e.g. to refer to the A data from the fourth file use this:
A{4}
In case you were wondering, it is considered poor practice to dynamically name variables like name1, name2, name3, etc. See this for an explanation of why:
Voir également
Catégories
En savoir plus sur Standard File Formats 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!