Make a table from a structure

5 visualizaciones (últimos 30 días)
Milton Logothetis
Milton Logothetis el 2 de En. de 2019
Respondida: Peter Perkins el 2 de En. de 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}};

Respuesta aceptada

Milton Logothetis
Milton Logothetis el 2 de En. de 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

Más respuestas (1)

Peter Perkins
Peter Perkins el 2 de En. de 2019
Milton, I think you are looking for struct2table.

Categorías

Más información sobre Tables 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