How do I create datastore class interactively?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Himanshi Rani
le 8 Mai 2017
Réponse apportée : Edric Ellis
le 9 Mai 2017
I have a folder of spreadsheet files containing three subfolders. I am using datastore to read the data from the spreadsheets.
I need to get the data from each of the subfolders individually and store them as ds1,ds2,ds3 for subfolder1,2 and 3 respectively.
I am doing the following:
for k = 1:3
ds = datastore('subfolder%d.xls',k)
end
I get the following errors:
Error in datastore:
Expected a string for the parameter name, instead the input type was 'double'.
Error in datastore>parseFileBasedNVPairs
parse(inpP, varargin{:});
Error in datastore
fileBasedNV = parseFileBasedNVPairs(varargin{:});
I am able to understand the origin of first error, but then I cannot find any way to resolve it.
0 commentaires
Réponse acceptée
Steven Lord
le 8 Mai 2017
You're missing an sprintf call. You should probably also store your datastore objects in a cell array (or perhaps a regular array of datastore objects; I'm not certain off the top of my head if that's allowed.)
ds{k} = datastore(sprintf('subfolder%d.xls',k))
0 commentaires
Plus de réponses (1)
Edric Ellis
le 9 Mai 2017
Further to @Steven's suggestion, you might instead wish to create a single datastore referring to all the files. See the documentation for more, but basically you could do:
ds = datastore('subfolder*.xls');
or perhaps the following which explicitly picks only files 1:3.
fileNames = strcat('subfolder', strsplit(num2str(1:3)), '.xls');
ds = datastore(fileNames);
0 commentaires
Voir également
Catégories
En savoir plus sur Text Data Preparation 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!