table2struct
Convert table to structure array
Description
S = table2struct(
converts
the table, T
)T
, to a structure array, S
.
Each variable of T
becomes a field in S
.
If T
is an m
-by-n
table,
then S
is a m
-by-1 structure
array with n
fields.
Examples
Convert Table to Structure Array
Create a table, T
, with five rows and three variables.
T = table(categorical(["Y";"N";"Y";"N";"N"]),[38;43;38;40;49],... [124 93;109 77; 125 83; 117 75; 122 80],... 'VariableNames',["Smoker" "Age" "BloodPressure"])
T=5×3 table
Smoker Age BloodPressure
______ ___ _____________
Y 38 124 93
N 43 109 77
Y 38 125 83
N 40 117 75
N 49 122 80
Convert T
to a structure array.
S = table2struct(T)
S=5×1 struct array with fields:
Smoker
Age
BloodPressure
The structure is 5-by-1, corresponding to the five rows of the table, T
. The three fields of S
correspond to the three variables from T
.
Display the field data for the first element of S
.
S(1)
ans = struct with fields:
Smoker: Y
Age: 38
BloodPressure: [124 93]
The information corresponds to the first row of the table.
Convert Table to Scalar Structure
Create a table, T
, with five rows and three variables.
T = table(categorical(["Y";"N";"Y";"N";"N"]),[38;43;38;40;49],... [124 93;109 77; 125 83; 117 75; 122 80],... 'VariableNames',["Smoker" "Age" "BloodPressure"])
T=5×3 table
Smoker Age BloodPressure
______ ___ _____________
Y 38 124 93
N 43 109 77
Y 38 125 83
N 40 117 75
N 49 122 80
Convert T
to a scalar structure.
S = table2struct(T,"ToScalar",true)
S = struct with fields:
Smoker: [5x1 categorical]
Age: [5x1 double]
BloodPressure: [5x2 double]
The data in the fields of the scalar structure are 5-by-1, corresponding to the five rows in the table T
.
Display the data for the field BloodPressure
.
S.BloodPressure
ans = 5×2
124 93
109 77
125 83
117 75
122 80
The structure field BloodPressure
contains all of the data that was in the variable of the same name from table T
.
Convert Table with Row Names to Structure
Create a table, T
, that includes row names.
T = table(categorical(["Y";"N";"Y";"N";"N"]),[38;43;38;40;49],... [124 93;109 77; 125 83; 117 75; 122 80],... 'VariableNames',["Smoker" "Age" "BloodPressure"],... 'RowNames',["Chang" "Brown" "Ruiz" "Lee" "Smith"])
T=5×3 table
Smoker Age BloodPressure
______ ___ _____________
Chang Y 38 124 93
Brown N 43 109 77
Ruiz Y 38 125 83
Lee N 40 117 75
Smith N 49 122 80
Convert T
to a scalar structure.
S = table2struct(T,"ToScalar",true)
S = struct with fields:
Smoker: [5x1 categorical]
Age: [5x1 double]
BloodPressure: [5x2 double]
Add a field for the row names from the table.
S.RowNames = T.Properties.RowNames
S = struct with fields:
Smoker: [5x1 categorical]
Age: [5x1 double]
BloodPressure: [5x2 double]
RowNames: {5x1 cell}
If S
is a nonscalar structure, use [S.RowNames] = T.Properties.RowNames{:}
to include a field with the row names from the table.
Input Arguments
T
— Input table
table
Input table, specified as a table.
If T
has variables whose names are not valid
MATLAB® identifiers, then table2struct
modifies
them to create valid field names, primarily by removing spaces and replacing
non-ASCII characters with underscores.
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Usage notes and limitations:
In generated code, the input table must be constant when using this function. For more information, see Code Generation for Tables (MATLAB Coder) and Table Limitations for Code Generation (MATLAB Coder).
Version History
See Also
Open Example
You have a modified version of this example. Do you want to open this example with your edits?
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)