Make a table from a structure

6 vues (au cours des 30 derniers jours)
Milton Logothetis
Milton Logothetis le 2 Jan 2019
Hi, I want to create a table from a structure that has n fields and I also want the fieldnames to be added as variable names. I have tried the following but I can't find a way to change the column when each field is added:
fnames = fieldnames(data); % get fieldnames
T = table; %assign table to T
for i = 1:length(fnames)
x_T = table(num2cell(getfield(data, fnames{i}))); %extract each field into a variable and convert it to a cell array
T = [T; x_T];
end
T.Properties.VariableNames = {fnames{1:i}};
  1 commentaire
madhan ravi
madhan ravi le 2 Jan 2019
upload your datas

Connectez-vous pour commenter.

Réponse acceptée

Milton Logothetis
Milton Logothetis le 2 Jan 2019
I figured it out ! Apparently the field name should be set to x_T before inserting the variables to the table.
fnames = fieldnames(data);
T = table;
for i = 1:length(fnames)
x_T = table(num2cell(getfield(data, fnames{i})));
x_T.Properties.VariableNames = {fnames{i}};
T = [T, x_T];
end

Plus de réponses (1)

Peter Perkins
Peter Perkins le 2 Jan 2019
Milton, I think you are looking for struct2table.

Catégories

En savoir plus sur Tables 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!

Translated by