delimitedTextImportOptions

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

Описание

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

Создание

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

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

    opts = detectImportOptions(filename);

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

Описание

пример

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

пример

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

пример

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

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

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

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

Свойства

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

Variable Properties

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

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

Чтобы поддержать недопустимые идентификаторы MATLAB как, имена переменных, такие как имена varible, содержащие пробелы и символы non-ASCII, устанавливают PreserveVariableNames параметр к true.

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

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

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

Отметьте, чтобы сохранить имена переменных, заданные как разделенная запятой пара, состоящая из PreserveVariableNames и любой true, или false.

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

  • false — Преобразуйте недопустимые имена переменных (как определено isvarname функция) к допустимым идентификаторам MATLAB.

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

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

Чтобы поддержать недопустимые идентификаторы MATLAB как, имена переменных, такие как имена varible, содержащие пробелы и символы non-ASCII, устанавливают PreserveVariableNames параметр к true.

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

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

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

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

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

Параметры переменной поддерживают эти типы данных: числовой, текст, logicaldatetime, или 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'чтение, или 'error'. Функция импорта интерпретирует пробел как пустой.

EmptyLineRule Поведение
'skip'Пропустите пустые линии.
'read'Импортируйте пустые линии. Функция импорта анализирует пустую линию с помощью значений, заданных в VariableWidthsVariableOptions 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              

Советы

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

    • R2016b DelimitedTextImportOptions объект

    • R2018b — delimitedTextImportOptions функция

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

|