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) = {'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

Местоположение данных, заданное как положительное скалярное целое число или 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 и концом файла.

Типы данных: single | double | uint8 | uint16 | uint32 | uint64

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

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

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

Типы данных: single | double | uint8 | uint16 | uint32 | uint64

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

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

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

Типы данных: single | double | uint8 | uint16 | uint32 | uint64

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

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

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

Типы данных: single | double | uint8 | uint16 | uint32 | uint64

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

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

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

Типы данных: single | double | uint8 | uint16 | uint32 | uint64

Delimited Text Properties

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

Пример: 'Delimiter','|'

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

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

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

Пример: 'Whitespace',' _'

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

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

Пример: 'LineEnding','\n'

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

Пример: 'LineEnding',{'\b',':'}

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

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

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

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

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

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

ConsecutiveDelimitersRule Поведение
'split'Разделите последовательные разделители в несколько полей.
'join'Соедините разделители в один разделитель.
'error'Возвратите ошибку и прервите операцию импорта.

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

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

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

Схема кодировки символов сопоставлена с файлом, заданным как пара, разделенная запятой, состоящая из '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'

 

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

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

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

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

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

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

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

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

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

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

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

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

Пример: opts.EmptyLineRule = 'skip';

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

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

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

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

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

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

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

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

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

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

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

ПРИМЕЧАНИЕ: дополнительные столбцы импортируются как текст с данными typechar.

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

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

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

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

Примеры

свернуть все

Задайте объект настроек импорта считать несколько переменных из 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