delimitedTextImportOptions

Настройки импорта возражают для разделенного текста

Описание

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

Создание

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

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

    opts = detectImportOptions(filename);

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

Синтаксис

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

Описание

пример

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

пример

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

пример

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

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

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

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

Свойства

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

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

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

Задайте как

Описание

n

Задайте первую строку, которая содержит данные. Определение значения с помощью n устанавливает значение свойства DataLines к [n inf]. Функция импорта читает все строки между n и концом файла.

n должен быть положительным целым числом, больше, чем нуль.

[n1 n2]

Задайте область значений строки, которая содержит данные. n1 является первой строкой, которая содержит данные, и n2 является последней строкой, которая содержит данные.

Значения в массиве, [n1 n2] должен быть ненулевыми положительными целыми числами и n2, должны быть больше, чем n1.

[n1 n2; n3 n4;...]

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

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

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

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

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

Пример: opts. DataLines = 5 наборов свойство DataLines к значению [5 inf]. Считайте все строки данных, начинающих со строки 5 в конец.

Пример: opts. DataLines = [2 6] устанавливает свойство считать строки 2 - 6.

Пример: opts. DataLines = [1 3; 5 6; 8 inf] устанавливают свойство считать строки 1, 2, 3, 5, 6 и все строки между 8, и конец файла.

Типы данных: единственный | удваиваются | uint8 | uint16 | uint32 | uint64

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

Если RowNamesColumn задан как 0, то не импортируйте имена строки. В противном случае импортируйте имена строки из заданного столбца.

Пример: opts. RowNamesColumn = 2;

Типы данных: единственный | удваиваются | uint8 | uint16 | uint32 | uint64

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

Если VariableNamesLine задан как 0, то не импортируйте имена переменных. В противном случае импортируйте имена переменных из заданной строки.

Пример: opts. VariableNamesLine = 6;

Типы данных: единственный | удваиваются | uint8 | uint16 | uint32 | uint64

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

Если VariableDescriptionsLine задан как 0, то не импортируйте описания переменной. В противном случае импортируйте описания переменной из заданной строки.

Пример: opts. VariableDescriptionsLine = 7;

Типы данных: единственный | удваиваются | uint8 | uint16 | uint32 | uint64

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

Если VariableUnitsLine задан как 0, то не импортируйте переменные модули. В противном случае импортируйте переменные модули из заданной строки.

Пример: opts. VariableUnitsLine = 8;

Типы данных: единственный | удваиваются | uint8 | uint16 | uint32 | uint64

Delimited Text Properties

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

Пример: '|'

Пример: {';' ',* '}

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

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

Пример: '_'

Пример:'?!.',

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

Пример: N

Пример: '\r\n'

Пример: B:'}

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

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

Например, чтобы проигнорировать текст после знака процента на той же строке, задайте CommentStyle как '%'.

Пример: {'/*'}

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

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

ConsecutiveDelimitersRule Поведение
разделениеРазделите последовательные разделители в несколько полей.
соединениеСоедините разделители в один разделитель.
ошибкаОшибка и аварийное прекращение работы операция импорта.

Пример: соединение

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

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

LeadingDelimitersRule Поведение
'keep'Сохраните разделитель.
'ignore'Проигнорируйте разделитель.
ошибкаОшибка и аварийное прекращение работы операция импорта.

Пример: 'проигнорировать'

Схема кодировки символов, сопоставленная с файлом, заданным как пара, разделенная запятой, состоящая из 'Encoding' и 'system' или схемы кодирования стандартного символа, называет как одно из значений в этой таблице.

'Big5'

'ISO-8859-1'

'windows-847'

'Big5-HKSCS'

'ISO-8859-2'

'windows-949'

'CP949'

'ISO-8859-3'

'windows-1250'

'EUC-KR'

'ISO-8859-4'

'windows-1251'

'EUC-JP'

'ISO-8859-5'

'windows-1252'

'EUC-TW'

'ISO-8859-6'

'windows-1253'

'GB18030'

'ISO-8859-7'

'windows-1254'

'GB2312'

'ISO-8859-8'

'windows-1255'

'GBK'

'ISO-8859-9'

'windows-1256'

'IBM866'

'ISO-8859-11'

'windows-1257'

'KOI8-R'

'ISO-8859-13'

'windows-1258'

'KOI8-U'

'ISO-8859-15'

'US-ASCII'

 

'Macintosh'

'UTF-8'

 

'Shift_JIS'

 

Пример: 'система' использует кодирование системного значения по умолчанию.

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

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

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

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

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

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

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

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

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

Процедура, чтобы обработать пустые строки в данных, заданных как 'skip', 'read' или 'error'. Функция импорта интерпретирует пробел как пустой.

EmptyLineRule Поведение
'skip'Пропустите пустые строки.
чтениеИмпортируйте пустые строки. Функция импорта анализирует пустую строку с помощью значений, заданных в VariableWidths, VariableOptions, MissingRule и других соответствующих свойствах, таких как Whitespace.
ошибкаОтобразите сообщение об ошибке и прервите операцию импорта.

Пример: opts. EmptyLineRule = 'пропуск';

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

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

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

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

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

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

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

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

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

ExtraColumnsRule Поведение
'addvars'

Чтобы импортировать дополнительные столбцы, создайте новые переменные. Если существуют дополнительные столбцы N, то импортируют новые переменные как 'ExtraVar1', 'ExtraVar2',..., 'ExtraVarN'.

Примечание: Дополнительные столбцы импортируются как текст с данными typechar.

'ignore'Проигнорируйте дополнительные столбцы данных.
'wrap'Перенесите дополнительные столбцы данных к новым записям. Это действие не изменяет количество переменных.
ошибкаОтобразите сообщение об ошибке и прервите операцию импорта.

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

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

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

Примеры

свернуть все

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

На основе содержимого вашего файла задайте эти переменные свойства: имена, типы, символ-разделитель, данные стартовое местоположение и правило дополнительного столбца.

varNames = {'LastName','Gender','Age','Location','Height','Weight','Smoker'} ;
varTypes = {'char','categorical','int32','char','double','double','logical'} ;
delimiter = ',';
dataStartLine = 2;
extraColRule = 'ignore';

Используйте функцию delimitedTextImportOptions и вашу переменную информацию, чтобы инициализировать объект opts настроек импорта.

opts = delimitedTextImportOptions('VariableNames',varNames,...
                                'VariableTypes',varTypes,...
                                'Delimiter',delimiter,...
                                'DataLines', dataStartLine,...
                                'ExtraColumnsRule',extraColRule); 

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

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

    'Smith'       Male      38     'County General Hospital'        71       176      false 
    '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      false 
    'Wilson'      Male      40     'VA Hospital'                    68       180      false 

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

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

  T         100x7             32332  table              

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

|

Введенный в R2017b

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