spreadsheetImportOptions

Настройки импорта возражают для электронных таблиц

Описание

Объект SpreadsheetImportOptions позволяет вам задать, как MATLAB® импортирует табличные данные из файлов электронной таблицы. Объект содержит свойства, которые управляют процессом импорта данных, включая обработку ошибок и недостающих данных.

Создание

Можно создать объект SpreadsheetImportOptions или при помощи функции detectImportOptions или при помощи функции spreadsheetImportOptions (описанный здесь):

  • Используйте detectImportOptions, чтобы обнаружить и заполнить свойства импорта на основе содержимого электронной таблицы, заданной в filename.

    opts = detectImportOptions(filename);

  • Используйте spreadsheetImportOptions, чтобы задать свойства импорта на основе ваших требований импорта.

Синтаксис

opts = spreadsheetImportOptions
opts = spreadsheetImportOptions('NumVariables',numVars)
opts = spreadsheetImportOptions(___,Name,Value)

Описание

пример

opts = spreadsheetImportOptions создает объект SpreadsheetImportOptions с одной переменной.

пример

opts = spreadsheetImportOptions('NumVariables',numVars) создает объект с количеством переменных, заданных в numVars.

пример

opts = spreadsheetImportOptions(___,Name,Value) задает дополнительные свойства для объекта SpreadsheetImportOptions с помощью одного или нескольких аргументов в виде пар "имя-значение".

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

развернуть все

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

Свойства

развернуть все

Variable Properties

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

Если данные содержат переменные N, но никакие имена переменных не обнаруживаются, то свойство VariableNames содержит {'Var1','Var2',...,'VarN'}.

Пример: opts. VariableNames возвращает текущие (обнаруженные) имена переменных.

Пример: opts. VariableNames (3) = {'Высота'} изменяет название третьей переменной к Высоте.

Типы данных: char | представляет в виде строки | ячейка

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

Чтобы обновить свойство VariableTypes, используйте функцию setvartype.

Пример: opts. VariableTypes возвращает текущие (обнаруженные) переменные типы данных.

Пример: opts = setvartype (opts, 'Высота', {'дважды'}) изменяет тип данных переменной Высоты, чтобы удвоиться.

Типы данных: ячейка | единственный | удваивается | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | логический | char | строка | категориальный | datetime

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

SelectedVariableNames должен быть подмножеством имен, содержавшихся в свойстве VariableNames. По умолчанию SelectedVariableNames содержит все имена переменных из свойства VariableNames, что означает, что все переменные импортируются.

Используйте свойство SelectedVariableNames импортировать только переменные интереса. Задайте подмножество переменных с помощью свойства SelectedVariableNames и используйте readtable, чтобы импортировать только то подмножество.

Пример: opts. SelectedVariableNames = {'Высота', 'LastName'} выбирает только две переменные, Высоту и LastName, для операции импорта.

Пример: opts. SelectedVariableNames = [1 5] выбирает только две переменные, первую переменную и пятую переменную, для операции импорта.

Пример: T = readtable (имя файла, opts) возвращает таблицу, содержащую только переменные, заданные в свойстве SelectedVariableNames объекта opts.

Типы данных: uint16 | uint32 | uint64 | char | представляет в виде строки | ячейка

Введите определенные переменные настройки импорта, возвращенные как массив переменных объектов настроек импорта. Массив содержит объект, соответствующий каждой переменной, заданной в свойстве VariableNames. Каждый объект в массиве содержит свойства, которые поддерживают импорт данных с определенным типом данных.

Параметры переменной поддерживают эти типы данных: числовой, текст, logical, datetime или categorical.

Чтобы запросить ток (или обнаруженный) опции для переменной, используйте функцию getvaropts.

Чтобы установить и настроить опции для переменной, используйте функцию setvaropts.

Пример: opts. VariableOptions возвращает набор объектов VariableImportOptions, одно соответствие каждой переменной в данных.

Пример: getvaropts (opts, 'Высота') возвращает объект VariableImportOptions для переменной Высоты.

Пример: opts = setvaropts (opts, 'Высота', 'FillValue', 0) устанавливает свойство FillValue для переменной Высоты к 0.

Location Properties

Покройте, чтобы читать из, заданный как пустой символьный массив, вектор символа или представить в виде строки скаляр, содержащий имя листа или положительное скалярное целое число, обозначающее индекс листа. На основе значения, заданного для свойства Sheet, функция импорта ведет себя, как описано в таблице.

СпецификацияПоведение
'' (значение по умолчанию)Импортируйте данные от первого листа.
имяИмпортируйте данные с соответствующего имени листа, независимо от порядка листов в файле электронной таблицы.
целое числоИмпортируйте данные от листа в положении, обозначенном целым числом, независимо от имен листа в файле электронной таблицы.

Пример: 'Sheet7'

Пример 7

Типы данных: char | представляет в виде строки | единственный | дважды

Местоположение данных, которые будут импортированы, заданные как вектор символа, скаляр строки, массив ячеек из символьных векторов, массив строк, положительное скалярное целое число или N- by-2 массив положительных скалярных целых чисел. Задайте DataRange с помощью одной из следующих форм.

ЗаданныйПоведение

'Cell' или n

Запуск ячейки или стартовой строки

Задайте стартовую ячейку для данных, с помощью обозначения Excel® A1. Например, A5 является идентификатором для ячейки на пересечении столбца A и строка 5.

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

Также задайте первую строку, содержащую данные с помощью положительного скалярного индекса строки.

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

Пример: 'A5' или 5

'Corner1:Corner2'

Прямоугольная область значений

Задайте точную область значений, чтобы считать использование прямоугольной формы области значений, где Corner1 и Corner2 являются двумя противостоящими углами, которые задают область, чтобы читать.

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

Количество столбцов должно совпадать с номером, заданным в свойстве NumVariables.

Пример: 'A5:K50'

'Row1:Row2' или 'Column1:Column2'

Область значений строки или область значений столбца

Задайте область значений путем идентификации начала и конечного использования строк номера строк Excel.

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

Пример 5: 500'

Также задайте область значений путем идентификации начала и конечного использования столбцов буквы столбца Excel или числа.

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

Количество столбцов в заданной области значений должно совпадать с номером, заданным в свойстве NumVariables.

Пример: A: K

[n1 n2; n3 n4;...]

Несколько областей значений строки

Задайте несколько областей значений строки, чтобы считать с N- by-2 массив, содержащий N различные области значений строки.

Допустимый массив нескольких областей значений строки должен:

  • Задайте области значений строки в увеличивающемся порядке, который является первой областью значений строки, заданной в массиве, появляется в файле перед другими областями значений строки.

  • Содержите только неперекрывающиеся области значений строки.

Использование Inf только поддержано, чтобы указать на последнюю область значений в числовом массиве, задающем несколько областей значений строки. Например, [1 3; 5 6; 8 Inf].

Пример: [1 3; 5 6; 8 Inf]

''

Незаданный или пустой

Не выбирайте данные.

Пример: ''

Типы данных: char | представляет в виде строки | ячейка | единственный | дважды

Местоположение имен строки, заданных как вектор символа, представляет в виде строки скаляр, положительное скалярное целое число или пустой символьный массив. Задайте RowNamesRange как одно из значений в этой таблице.

ЗаданныйПоведение

ячейка

Задайте стартовую ячейку для данных, с помощью обозначения Excel A1. Например, A5 является идентификатором для ячейки на пересечении столбца A и строка 5.

Функция импорта идентифицирует имя для каждой переменной в данных.

Пример: 'A5'

'Corner1:Corner2'

Прямоугольная область значений

Задайте точную область значений, чтобы считать использование прямоугольной формы области значений, где Corner1 и Corner2 являются двумя противостоящими углами, которые задают область, чтобы читать.

Количество строк, содержавшихся в RowNamesRange, должно совпадать с количеством строк данных, и область значений, обозначенная RowNamesRange, должна охватить только один столбец.

Пример: 'A5:A50'

'Row1:Row2'

Область значений строки

Задайте область значений путем идентификации начала и конечного использования строк номера строк Excel.

Имена строки должны быть в отдельном столбце.

Пример 5: 50'

n

Индекс номера

Задайте столбец, содержащий имена строки с помощью положительного скалярного индекса столбца.

Пример 5

''

Незаданный или пустой

Укажите, что нет никаких имен строки.

Пример: ''

Типы данных: char | единственный | дважды

Местоположение имен переменных, заданных как вектор символа, представляет в виде строки скаляр, положительное скалярное целое число или пустой символьный массив. Задайте VariableNamesRange как одно из значений в этой таблице.

ЗаданныйПоведение

ячейка

Задайте стартовую ячейку для данных, с помощью обозначения Excel A1. Например, A5 является идентификатором для ячейки на пересечении столбца A и строка 5.

Функция импорта читает имя для каждой переменной в данных.

Пример: 'A5'

'Corner1:Corner2'

Прямоугольная область значений

Задайте точную область значений, чтобы считать использование прямоугольной формы области значений, где Corner1 и Corner2 являются двумя противостоящими углами, которые задают область, чтобы читать.

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

Пример: 'A5:K5'

'Row1:Row2'

Область значений строки

Задайте область значений путем идентификации начала и конечного использования строк номера строк Excel.

Должна быть одна строка.

Пример 5: 5'

n

Индекс номера

Задайте строку, содержащую имена переменных с помощью положительного скалярного индекса строки.

Пример 5

''

Незаданный или пустой

Укажите, что нет никаких имен переменных.

Пример: ''

Типы данных: char | единственный | дважды

Местоположение описаний переменной, заданных как вектор символа, представляет в виде строки скаляр, положительное скалярное целое число или пустой символьный массив. Задайте VariableDescriptionRange как одно из значений в этой таблице.

ЗаданныйПоведение

ячейка

Задайте стартовую ячейку для данных, с помощью обозначения Excel A1. Например, A5 является идентификатором для ячейки на пересечении столбца A и строка 5.

Функция импорта читает описание для каждой переменной в данных.

Пример: 'A5'

'Corner1:Corner2'

Прямоугольная область значений

Задайте точную область значений, чтобы считать использование прямоугольной формы области значений, где Corner1 и Corner2 являются двумя противостоящими углами, которые задают область, чтобы читать.

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

Пример: 'A5:K5'

'Row1:Row2'

Область значений строки

Задайте область значений путем идентификации начала и конечного использования строк номера строк Excel.

Должна быть одна строка.

Пример 5: 5'

n

Индекс номера

Задайте строку, содержащую описания с помощью положительного скалярного индекса строки.

Пример 5

''

Незаданный или пустой

Укажите, что нет никаких описаний переменной.

Пример: ''

Типы данных: char | представляет в виде строки | единственный | дважды

Местоположение переменных модулей, заданных как вектор символа, представляет в виде строки скаляр, положительное скалярное целое число или пустой символьный массив. Задайте VariableUnitsRange как одно из значений в этой таблице.

ЗаданныйПоведение

ячейка

Задайте стартовую ячейку для данных, с помощью обозначения Excel A1. Например, A5 является идентификатором для ячейки на пересечении столбца A и строка 5.

Функция импорта читает модуль для каждой переменной в данных.

Пример: 'A5'

'Corner1:Corner2'

Прямоугольная область значений

Задайте точную область значений, чтобы считать использование прямоугольной формы области значений, где Corner1 и Corner2 являются двумя противостоящими углами, которые задают область, чтобы читать.

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

Пример: 'A5:K5'

'Row1:Row2'

Область значений строки

Задайте область значений путем идентификации начала и конечного использования строк номера строк Excel.

Должна быть одна строка.

Пример 5: 5'

n

Индекс номера

Задайте строку, содержащую модули данных с помощью положительного скалярного индекса строки.

Пример 5

''

Незаданный или пустой

Укажите, что нет никаких переменных модулей.

Пример: ''

Типы данных: char | представляет в виде строки | единственный | дважды

Заменяющие правила

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

MissingRule Поведение
заливка

Замените недостающие данные на содержимое свойства FillValue.

Свойство FillValue задано в объекте VariableImportOptions импортируемой переменной. Для получения дополнительной информации о доступе к свойству FillValue смотрите getvaropts.

ошибкаПрекратите импортировать и отобразите сообщение об ошибке, показывающее недостающую запись и поле.
'omitrow'Не используйте строки, которые содержат недостающие данные.
'omitvar'Не используйте переменные, которые содержат недостающие данные.

Пример: opts. MissingRule = 'omitrow'; uint32

Типы данных: char | string

Процедура, чтобы обработать ошибки импорта, заданные как одно из значений в этой таблице.

ImportErrorRule Поведение
заливка

Замените данные, где ошибка произошла с содержимым свойства FillValue.

Свойство FillValue задано в объекте VariableImportOptions импортируемой переменной. Для получения дополнительной информации о доступе к свойству FillValue смотрите getvaropts.

ошибкаПрекратите импортировать и отобразите сообщение об ошибке, показывающее вызывающую ошибку запись и поле.
'omitrow'Не используйте строки, где ошибки происходят.
'omitvar'Не используйте переменные, где ошибки происходят.

Пример: opts. ImportErrorRule = 'omitvar';

Типы данных: char | string

Функции объекта

getvaroptsПолучите переменные настройки импорта
setvaroptsУстановите переменные настройки импорта
setvartypeУстановите переменные типы данных
предварительный просмотрПредварительный просмотр восемь строк из файла с помощью настроек импорта

Примеры

свернуть все

Создайте объект настроек импорта считать одну переменную из файла patients.xls.

Инициализируйте объект SpreadsheetImportOptions, задайте имя переменной, тип переменной и данные стартовая ячейка. Затем используйте функцию preview с объектом настроек импорта предварительно просмотреть данные.

opts = spreadsheetImportOptions; 
opts.VariableNames = 'LastName';
opts.VariableTypes = 'categorical';
opts.DataRange = 'A2';
preview('patients.xls',opts)
ans=8×1 table
    LastName
    ________

    Smith   
    Johnson 
    Williams
    Jones   
    Brown   
    Davis   
    Miller  
    Wilson  

Импортируйте переменную из файла.

oneVar = readtable('patients.xls',opts);
whos oneVar
  Name          Size            Bytes  Class    Attributes

  oneVar      100x1             13566  table              

Создайте объект настроек импорта считать несколько переменных из patients.xls.

На основе содержимого вашего файла задайте количество переменных, имен переменных, тип переменных и данных стартовое местоположение.

numVars = 7;
varNames = {'LastName','Gender','Age','Location','Height','Weight','Smoker'} ;
varTypes = {'char','categorical','int32','char','double','double','logical'} ;
dataStartLoc = 'A2';

Инициализируйте объект opts настроек импорта с помощью функции spreadsheetImportOptions и переменной информации.

opts = spreadsheetImportOptions('NumVariables',numVars,...
                                'VariableNames',varNames,...
                                'VariableTypes',varTypes,...
                                'DataRange', dataStartLoc); 

Предварительно просмотрите данные с помощью функции preview с настройками импорта.

preview('patients.xls',opts)
ans=8×7 table
     LastName     Gender    Age             Location              Height    Weight    Smoker
    __________    ______    ___    ___________________________    ______    ______    ______

    'Smith'       Male      38     'County General Hospital'        71       176      true  
    'Johnson'     Male      43     'VA Hospital'                    69       163      false 
    'Williams'    Female    38     'St. Mary's Medical Center'      64       131      false 
    'Jones'       Female    40     'VA Hospital'                    67       133      false 
    'Brown'       Female    49     'County General Hospital'        64       119      false 
    'Davis'       Female    46     'St. Mary's Medical Center'      68       142      false 
    'Miller'      Female    33     'VA Hospital'                    64       142      true  
    'Wilson'      Male      40     'VA Hospital'                    68       180      false 

Импортируйте данные с помощью readtable.

T = readtable('patients.xls',opts);
whos T
  Name        Size            Bytes  Class    Attributes

  T         100x7             32332  table              

Смотрите также

|

Введенный в R2017b

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