Make a table from a structure

조회 수: 20 (최근 30일)
Milton Logothetis
Milton Logothetis 2019년 1월 2일
답변: Peter Perkins 2019년 1월 2일
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}};

채택된 답변

Milton Logothetis
Milton Logothetis 2019년 1월 2일
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

추가 답변 (1개)

Peter Perkins
Peter Perkins 2019년 1월 2일
Milton, I think you are looking for struct2table.

카테고리

Help CenterFile Exchange에서 Tables에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by