spreadsheetImportOptions

Объект настроек импорта для электронных таблиц

Описание

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

Создание

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

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

    opts = detectImportOptions(filename);

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

Описание

пример

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

пример

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

пример

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

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

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

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

Свойства

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

Свойства переменной

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

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

Чтобы поддержать недопустимые идентификаторы MATLAB в качестве имен переменных, таких как имена переменных, содержащие пространства и символы, отличные от ASCII, задайте значение VariableNamingRule на 'preserve'.

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

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

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

Флаг для сохранения имен переменных, заданный как разделенная разделенными запятой парами, состоящая из VariableNamingRule и любой из них 'modify' или 'preserve'.

  • 'modify' - Преобразуйте недопустимые имена переменных (как определено isvarname function) для действительных идентификаторов MATLAB.

  • 'preserve' - Сохраните имена переменных, которые не являются допустимыми идентификаторами MATLAB, такими как имена переменных, которые включают пространства и символы, отличные от ASCII.

Начиная с R2019b, имена переменных и имена строк могут включать любые символы, включая пространства и символы, отличные от ASCII. Кроме того, они могут начинаться с любых символов, а не только букв. Переменная и имена строк не должны быть допустимыми идентификаторами MATLAB (как определяется isvarname функция). Чтобы сохранить эти имена переменных и имена строк, задайте значение VariableNamingRule на 'preserve'.

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

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

Как обновить VariableTypes свойство, используйте setvartype функция.

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

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

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

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

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

Чтобы поддержать недопустимые идентификаторы MATLAB в качестве имен переменных, таких как имена переменных, содержащие пространства и символы, отличные от ASCII, задайте значение VariableNamingRule на 'preserve'.

Пример: 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.

Свойства местоположения

Лист для чтения, заданный как пустой символьный массив, вектор символов или строковый скаляр, содержащий имя листа, или положительное скалярное целое число, обозначающее индекс листа. На основе значения, заданного для 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

Правила замены

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

Отсутствующее правилоПоведение
'fill'

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

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

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

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

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

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

Правило импорта ошибокПоведение
'fill'

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

The 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             12709  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             30563  table              

Совет

  • Введенный в:

    • R2016b — SpreadsheetImportOptions объект

    • R2018b — spreadsheetImportOptions функция

См. также

|