Convert a struct to excel file
7 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have a struct

The "perSubjectScores" contains two fields

and I want to exract the data in the first one

As you can see the names are not generic, so I find it hard to extract the subject scores for all the rows of the struct "scores"
What is the best solution to do it.
1 commentaire
Réponses (1)
Jan
le 6 Juil 2018
What about a simple loop?
Result = cell(numel(scores), 2);
for k = 1:numel(scores)
F = scores(k).perSubjectScores.perSubjectRestrospectiveZScored;
Result{k, 1} = fieldnames(F);
Result{k, 2} = cell2mat(struct2cell(F));
end
Afterwards a call to cat(1, Result{:,1}) should create a list of all subject names. Unfortunately I'm not really sure, if this works correctly, because I cannot follow the description of your data structure completely. But the general method should get clear and I hope you can adjust it to your needs.
I strongly recommend to simplify the naming scheme. It does not increase the clarity to mention in each level of the nested struct, that the value concern a "scoring". Too exhaustive names for variables or fields decrease the readability and increase the chance of confusion and typos.
Voir également
Catégories
En savoir plus sur Structures 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!