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) = {'Height'} изменяет название третьей переменной к Height.

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

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

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

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

Пример: opts = setvartype(opts,'Height',{'double'}) изменяет тип данных переменной Height к double.

Типы данных: cell | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | categorical | datetime

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

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

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

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

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

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

Типы данных: uint16 | uint32 | uint64 | char | string | cell

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

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

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

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

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

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

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

Location Properties

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

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

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

Местоположение данных, которые будут импортированы, заданные как вектор символов, скаляр строки, массив ячеек из символьных векторов, массив строк, положительное скалярное целое число или 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 | string | cell | single | double

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

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

'Cell'

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

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

Пример: 'A5'

'Corner1:Corner2'

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

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

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

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

'Row1:Row2'

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

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

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

Пример: '5:50'

n

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

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

Пример 5

''

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

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

Пример: ''

Типы данных: char | single | double

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

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

'Cell'

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

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

Пример: 'A5'

'Corner1:Corner2'

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

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

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

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

'Row1:Row2'

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

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

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

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

n

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

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

Пример 5

''

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

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

Пример: ''

Типы данных: char | single | double

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

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

'Cell'

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

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

Пример: 'A5'

'Corner1:Corner2'

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

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

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

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

'Row1:Row2'

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

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

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

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

n

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

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

Пример 5

''

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

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

Пример: ''

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

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

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

'Cell'

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

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

Пример: 'A5'

'Corner1:Corner2'

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

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

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

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

'Row1:Row2'

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

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

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

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

n

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

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

Пример 5

''

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

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

Пример: ''

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

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

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

MissingRule Поведение
'fill'

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

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

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

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

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

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

ImportErrorRule Поведение
'fill'

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

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

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

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

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

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

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

Примеры

свернуть все

Создайте объект настроек импорта считать одну переменную из файла 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