cell2table

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

Описание

T = cell2table(C) преобразует содержимое m-by- n массив ячеек, C, в m-by- n таблица, T. Каждый столбец C предоставляет данные, содержащиеся в переменной T.

Чтобы создать имена переменных в таблице выхода, cell2table добавляет номера столбцов к имени входа массива. Если у массива входа нет имени, то cell2table создает имена переменных формы 'Var1',..., 'Var N', где N количество столбцов в C.

пример

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

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

Примеры

свернуть все

Создайте массив ячеек, содержащий векторы символов и числовые данные.

C = {5 'cereal' 110 'C+'; 12 'pizza' 140 'B';...
    23 'salmon' 367 'A'; 2 'cookies' 160 'D'}
C=4×4 cell array
    {[ 5]}    {'cereal' }    {[110]}    {'C+'}
    {[12]}    {'pizza'  }    {[140]}    {'B' }
    {[23]}    {'salmon' }    {[367]}    {'A' }
    {[ 2]}    {'cookies'}    {[160]}    {'D' }

Преобразуйте массив ячеек, C, в таблицу и задайте имена переменных.

T = cell2table(C,...
    'VariableNames',{'Age' 'FavoriteFood' 'Calories' 'NutritionGrade'})
T=4×4 table
    Age    FavoriteFood    Calories    NutritionGrade
    ___    ____________    ________    ______________

     5     {'cereal' }       110           {'C+'}    
    12     {'pizza'  }       140           {'B' }    
    23     {'salmon' }       367           {'A' }    
     2     {'cookies'}       160           {'D' }    

Переменные T.Age и T.Calories являются числовыми, в то время как переменные T.FavoriteFood и T.NutritionGrade являются массивами ячеек векторов символов.

Преобразуйте массив ячеек в таблицу, а затем включите первую строку из массива ячеек в качестве имен переменных для таблицы.

Создайте массив ячеек, где первая строка содержит векторы символов для идентификации заголовков столбца.

Patients = {'Gender' 'Age' 'Height' 'Weight' 'Smoker';...
    'M' 38 71 176 true;...
    'M' 43 69 163 false;...
    'M' 38 64 131 false;...
    'F' 38 64 131 false;...
    'F' 40 67 133 false;...
    'F' 49 64 119 false}
Patients=7×5 cell array
    {'Gender'}    {'Age'}    {'Height'}    {'Weight'}    {'Smoker'}
    {'M'     }    {[ 38]}    {[    71]}    {[   176]}    {[     1]}
    {'M'     }    {[ 43]}    {[    69]}    {[   163]}    {[     0]}
    {'M'     }    {[ 38]}    {[    64]}    {[   131]}    {[     0]}
    {'F'     }    {[ 38]}    {[    64]}    {[   131]}    {[     0]}
    {'F'     }    {[ 40]}    {[    67]}    {[   133]}    {[     0]}
    {'F'     }    {[ 49]}    {[    64]}    {[   119]}    {[     0]}

Исключить заголовки столбцов и преобразовать содержимое массива ячеек в таблицу.

C = Patients(2:end,:);
T = cell2table(C)
T=6×5 table
     C1      C2    C3    C4      C5  
    _____    __    __    ___    _____

    {'M'}    38    71    176    true 
    {'M'}    43    69    163    false
    {'M'}    38    64    131    false
    {'F'}    38    64    131    false
    {'F'}    40    67    133    false
    {'F'}    49    64    119    false

Таблица, T, имеет имена переменных C1,...,C5.

Измените имена переменных, задав свойство таблицы, T.Properties.VariableNames, к первой строке массива ячеек.

T.Properties.VariableNames = Patients(1,:)
T=6×5 table
    Gender    Age    Height    Weight    Smoker
    ______    ___    ______    ______    ______

    {'M'}     38       71       176      true  
    {'M'}     43       69       163      false 
    {'M'}     38       64       131      false 
    {'F'}     38       64       131      false 
    {'F'}     40       67       133      false 
    {'F'}     49       64       119      false 

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

свернуть все

Входной массив ячеек, заданный как 2-D массив ячеек. Каждый столбец C предоставляет данные для табличной переменной.

  • Если содержимое камер в столбце C имеют совместимые размеры и типы, тогда соответствующей табличной переменной является вертикальная конкатенация этих содержимого в массив.

  • Если содержимое камер в столбце имеет разные размеры и типы, то соответствующей табличной переменной является массив ячеек.

    • Если содержимое камер в столбце все являются векторами символов, то соответствующая табличная переменная является массивом ячеек из векторов символов.

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

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

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

Имена строк, заданные как разделенная разделенными запятой парами, состоящая из 'RowNames' и массив ячеек из векторов символов или строковых массивов, элементы которого непусты и различимы. Количество имен должно равняться количеству строк, size(C,1).

Имена строк могут иметь любой Юникод® символы, включая пространства и символы, отличные от ASCII.

Если вы задаете имена строк, которые имеют начальные или конечные пробелы, то cell2table удаляет их из имен строк.

Имена переменных, заданные как разделенная разделенными запятой парами, состоящая из 'VariableNames' и массив ячеек из векторов символов или строковых массивов, элементы которого непусты и различимы. Количество имен должно равняться количеству переменных, size(C,2).

Имена переменных могут иметь любые символы Юникода, включая пространства и символы, отличные от ASCII.

Начиная с R2021a

Имена размерностей, заданные как двухэлементный массив ячеек из векторов символов или двухэлементные строковые массивы, элементы которого непусты и различны.

Имена размерностей могут иметь любые символы Юникода, включая пространства и символы, отличные от ASCII.

Перед R2021a можно задать имена размерностей только путем установки DimensionNames свойство выхода.

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

свернуть все

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

Вопросы совместимости

расширить все

Поведение изменено в R2019b

Расширенные возможности

.
Введенный в R2013b