exponenta event banner

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 с использованием одного или нескольких аргументов пары имя-значение.

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

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

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

Свойства

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

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

Имена переменных, определяемые как массив ячеек символьных векторов или строковый массив. 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 к допустимым идентификаторам MATLAB.

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

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

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

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

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

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

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

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

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

Правило ошибки импортаПоведение
'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             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 функция

См. также

|