struct2table

Преобразуйте массив структур в таблицу

Синтаксис

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

Описание

пример

T = struct2table(S) преобразовывает массив структур, S, к таблице, T. Каждое поле S становится переменной в T.

пример

T = struct2table(S,Name,Value) составляет таблицу из массива структур, S, с дополнительными опциями, заданными одним или несколькими аргументами пары Name,Value.

Например, можно задать имена строки, чтобы включать в таблицу.

Примеры

свернуть все

Преобразуйте скалярную структуру в таблицу с помощью опций по умолчанию.

Создайте массив структур, 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: {3x1 cell}
         Gender: {3x1 cell}
     SystolicBP: [3x1 double]
    DiastolicBP: [3x1 double]

Скалярная структура, S, имеет четыре поля, каждого с тремя строками.

Преобразуйте массив структур в таблицу.

T = struct2table(S)
T=3×4 table
      Name      Gender    SystolicBP    DiastolicBP
    ________    ______    __________    ___________

    'CLARK'      'M'         124            93     
    'BROWN'      'F'         122            80     
    'MARTIN'     'M'         130            92     

Имена полей структуры в S становятся именами переменных в выходной таблице. Размер T 3 на 4.

Измените Name от переменной до имен строки путем изменения свойства таблицы, T.Properties.RowNames, и затем удаления переменного Name.

T.Properties.RowNames = T.Name;
T.Name = [];

T
T=3×3 table
              Gender    SystolicBP    DiastolicBP
              ______    __________    ___________

    CLARK      'M'         124            93     
    BROWN      'F'         122            80     
    MARTIN     'M'         130            92     

Создайте нескалярный массив структур, 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 = 3x1 struct array with fields:
    Name
    Gender
    SystolicBP
    DiastolicBP

S является массивом структур 3 на 1 с четырьмя полями.

Преобразуйте массив структур в таблицу.

T = struct2table(S)
T=3×4 table
      Name      Gender    SystolicBP    DiastolicBP
    ________    ______    __________    ___________

    'CLARK'      'M'         124            93     
    'BROWN'      'F'         122            80     
    'MARTIN'     'M'         130            92     

Имена полей структуры в S становятся именами переменных в выходной таблице. Размер T 3 на 4.

Используйте 'AsArray',true, чтобы составить таблицу от скалярной структуры, поля которой имеют различные количества строк.

Создайте скалярную структуру, S, с полями name, billing и test.

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: [3x3 double]

Поля имеют различные количества строк. Поэтому вы не можете использовать struct2table(S), который использует 'AsArray',false по умолчанию.

Обработайте скалярную структуру как массив и преобразуйте ее в таблицу.

T = struct2table(S,'AsArray',true)
T=1×3 table
       name       billing        test    
    __________    _______    ____________

    'John Doe'      127      [3x3 double]

T содержит одну строку.

Входные параметры

свернуть все

Массив структур, заданный как скалярный массив структур.

  • Если S является скалярной структурой с полями n, все из которых имеют строки m, то T является m-by-n таблица.

  • Если S является нескалярный m-by-1 массив структур с полями n, то T является m-by-n таблица.

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Имя должно появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'RowNames', {'row1', 'row2', 'row3'} использует имена строки, row1, row2, и row3 для таблицы, T.

Строка называет для T, заданного как пара, разделенная запятой, состоящая из 'RowNames' и массива ячеек из символьных векторов или массива строк, элементы которого непусты и отличны.

Индикатор для того, как обработать скалярную структуру, заданную как пара, разделенная запятой, состоящая из 'AsArray' и или false, true, 0 или 1.

tRUE

struct2table преобразовывает S в таблицу с одной строкой и переменными n. Переменные могут быть различными размерами.

ложь

struct2table преобразовывает скалярный массив структур с полями n в m-by-n таблица. Каждое поле должно иметь строки m. Это поведение по умолчанию

Выходные аргументы

свернуть все

Выведите таблицу, возвращенную как таблица. Таблица может сохранить метаданные, такие как описания, переменные модули, имена переменных и имена строки. Для получения дополнительной информации смотрите раздел Properties table.

Введенный в R2013b

Была ли эта тема полезной?