Documentation

struct2table

Convert structure array to table

Syntax

T =struct2table(S)
T =struct2table(S,Name,Value)

Description

example

T= struct2table(S)转换the structure array,S, to a table,T. Each field ofSbecomes a variable inT.

example

T= struct2table(S,Name,Value)creates a table from a structure array,S, with additional options specified by one or moreName,Valuepair arguments.

For example, you can specify row names to include in the table.

Examples

collapse all

Convert a scalar structure to a table using the default options.

Create a structure array,S.

S.Name = {'CLARK';'BROWN';'MARTIN'}; S.Gender = {'M';'F';'M'}; S.SystolicBP = [124;122;130]; S.DiastolicBP = [93;80;92]; S
S =struct with fields:Name: {3×1 cell} Gender: {3×1 cell} SystolicBP: [3×1 double] DiastolicBP: [3×1 double]

The scalar structure,S, has four fields, each with three rows.

Convert the structure array to a table.

T =struct2table(S)
T =3×4 tableName Gender SystolicBP DiastolicBP ________ ______ __________ ___________ 'CLARK' 'M' 124 93 'BROWN' 'F' 122 80 'MARTIN' 'M' 130 92

The structure field names inSbecome the variable names in the output table. The size ofTis 3-by-4.

ChangeNamefrom a variable to row names by modifying the table property,T.Properties.RowNames, and then deleting the variableName.

T.Properties.RowNames = T.Name; T.Name = []; T
T =3×3 tableGender SystolicBP DiastolicBP ______ __________ ___________ CLARK 'M' 124 93 BROWN 'F' 122 80 MARTIN 'M' 130 92

Create a nonscalar structure array,S.

S(1,1).Name ='CLARK'; S(1,1).Gender ='M'; S(1,1).SystolicBP = 124; S(1,1).DiastolicBP = 93; S(2,1).Name ='BROWN'; S(2,1).Gender ='F'; S(2,1).SystolicBP = 122; S(2,1).DiastolicBP = 80; S(3,1).Name ='MARTIN'; S(3,1).Gender ='M'; S(3,1).SystolicBP = 130; S(3,1).DiastolicBP = 92; S
S =3×1 struct array with fields:Name Gender SystolicBP DiastolicBP

Sis a 3-by-1 structure array with four fields.

Convert the structure array to a table.

T =struct2table(S)
T =3×4 tableName Gender SystolicBP DiastolicBP ________ ______ __________ ___________ 'CLARK' 'M' 124 93 'BROWN' 'F' 122 80 'MARTIN' 'M' 130 92

The structure field names inSbecome the variable names in the output table. The size ofTis 3-by-4.

Use'AsArray',trueto create a table from a scalar structure whose fields have different numbers of rows.

Create a scalar structure,S, with fieldsname,billing, andtest.

S.name ='John Doe'; S.billing = 127.00; S.test = [79, 75, 73; 180, 178, 177.5; 220, 210, 205]; S
S =struct with fields:name: 'John Doe' billing: 127 test: [3×3 double]

The fields have a different number of rows. Therefore, you cannot usestruct2table(S), which uses'AsArray',falseby default.

Treat the scalar structure as an array and convert it to a table.

T =struct2table(S,'AsArray',真正的)
T =1×3 tablename billing test __________ _______ ____________ 'John Doe' 127 [3×3 double]

T包含一个行。

Input Arguments

collapse all

Structure array, specified as a scalar structure array.

  • IfSis a scalar structure withnfields, all of which havemrows, thenTis anm-by-ntable.

  • IfSis a nonscalarm-by-1structure array withnfields, thenTis anm-by-ntable.

Name-Value Pair Arguments

Specify optional comma-separated pairs ofName,Valuearguments.Nameis the argument name andValueis the corresponding value.Namemust appear inside single quotes (' '). You can specify several name and value pair arguments in any order asName1,Value1,...,NameN,ValueN.

Example:RowNames',{'row1','row2','row3'}uses the row names,row1,row2, androw3for the table,T.

collapse all

Row names forT, specified as the comma-separated pair consisting of'RowNames'and a cell array of character vectors that are nonempty and distinct.

Indicator for how to treat scalar structure, specified as the comma-separated pair consisting of'AsArray'and eitherfalse,true,0, or1.

true

struct2table转换Sto a table with one row andnvariables. The variables can be different sizes.

false

struct2table转换a scalar structure array withnfields into anm-by-ntable. Each field must havemrows. This is the default behavior

Output Arguments

collapse all

Output table, returned as a table. The table can store metadata such as descriptions, variable units, variable names, and row names. For more information, seeTable Properties.

Introduced in R2013b

Was this topic helpful?