Объект параметров импорта для разделенного текста
A DelimitedTextImportOptions позволяет указать, как MATLAB ® импортирует табличные данные из текстовых файлов с разделителями. Объект содержит свойства, управляющие процессом импорта данных, включая обработку ошибок и отсутствующих данных.
Можно создать DelimitedTextImportOptions с использованием либо detectImportOptions функции или delimitedTextImportOptions функция (описана здесь):
Использовать detectImportOptions для обнаружения и заполнения свойств импорта на основе содержимого текстового файла с разделителями, указанного в filename.
opts = detectImportOptions(filename);
Использовать delimitedTextImportOptions для определения свойств импорта на основе требований импорта.
opts = delimitedTextImportOptions создает DelimitedTextImportOptions объект с одной переменной.
opts = delimitedTextImportOptions('NumVariables', создает объект с числом переменных, указанным в numVars)numVars.
numVars - Количество переменныхЧисло переменных, указанное как положительное скалярное целое число.
VariableNames - Имена переменныхИмена переменных, определяемые как массив ячеек символьных векторов или строковый массив. VariableNames содержит имена, используемые при импорте переменных.
Если данные содержат N переменные, но имена переменных не указаны, затем VariableNames свойство содержит {'Var1','Var2',...,'VarN'}.
Для поддержки недопустимых идентификаторов MATLAB в качестве имен переменных, например имен переменных, содержащих пробелы и символы, отличные от ASCII, задайте значение VariableNamingRule кому 'preserve'.
Пример: opts.VariableNames возвращает имена текущих (обнаруженных) переменных.
Пример: opts.VariableNames(3) = {'Height'} изменяет имя третьей переменной на Height.
Типы данных: char | string | cell
VariableNamingRule - Флаг для сохранения имен переменных'modify' (по умолчанию) | 'preserve'Флаг для сохранения имен переменных, указанный как разделенная запятыми пара, состоящая из VariableNamingRule и либо 'modify' или 'preserve'.
'modify' - Преобразовать недопустимые имена переменных (согласно определению isvarname к допустимым идентификаторам MATLAB.
'preserve' - Сохранение имен переменных, которые не являются допустимыми идентификаторами MATLAB, например имен переменных, содержащих пробелы и символы, не относящиеся к ASCII.
Начиная с R2019b имена переменных и строк могут содержать любые символы, включая пробелы и символы, не относящиеся к ASCII. Кроме того, они могут начинаться с любых символов, а не только букв. Имена переменных и строк не должны быть допустимыми идентификаторами MATLAB (согласно определению isvarname функция). Чтобы сохранить эти имена переменных и строк, задайте значение VariableNamingRule кому 'preserve'.
Типы данных: char | string
VariableTypes - Типы данных переменнойТип данных переменной, указанный как массив ячеек символьных векторов, или строковый массив, содержащий набор допустимых имен типов данных. VariableTypes свойство определяет типы данных, используемые при импорте переменных.
Чтобы обновить VariableTypes свойство, используйте setvartype функция.
Пример: opts.VariableTypes возвращает текущие типы данных переменных.
Пример: opts = setvartype(opts,'Height',{'double'}) изменение типа данных переменной Height кому double.
SelectedVariableNames - подмножество переменных для импорта;Подмножество импортируемых переменных, указанное как символьный вектор, строковый скаляр, массив ячеек символьных векторов, строковый массив или массив числовых индексов.
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
VariableOptions - Параметры импорта переменных, зависящие от типаВведите параметры импорта переменных, возвращаемые в виде массива объектов параметров импорта переменных. Массив содержит объект, соответствующий каждой переменной, указанной в VariableNames собственность. Каждый объект в массиве содержит свойства, поддерживающие импорт данных с определенным типом данных.
Параметры переменных поддерживают следующие типы данных: числовые, текстовые, logical, datetime, или categorical.
Чтобы запросить текущие (или обнаруженные) параметры переменной, используйте getvaropts функция.
Чтобы задать и настроить параметры переменной, используйте setvaropts функция.
Пример: opts.VariableOptions возвращает коллекцию VariableImportOptions объекты, по одному, соответствующие каждой переменной в данных.
Пример: getvaropts(opts,'Height') возвращает значение VariableImportOptions объект для Height переменная.
Пример: opts = setvaropts(opts,'Height','FillValue',0) устанавливает FillValue свойство для переменной Height кому 0.
DataLines - Местоположение данныхРасположение данных, указанное как положительное скалярное целое число или N-около-2 массив положительных скалярных целых чисел. Определить DataLines используя одну из этих форм.
|
Укажите как |
Описание |
|---|---|
|
|
Укажите первую строку, содержащую данные. Задание значения с помощью
|
|
| Укажите диапазон строк, содержащий данные. Значения в массиве |
|
|
Укажите несколько диапазонов строк для чтения с помощью Допустимый массив из нескольких диапазонов строк должен:
При указании нескольких диапазонов линий используйте |
Пример: 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 - Расположение имен строк0 (по умолчанию) | положительное скалярное целоеРасположение имен строк, указанное как положительное скалярное целое число. RowNamesColumn указывает местоположение столбца, содержащего имена строк.
Если RowNamesColumn указан как 0, а затем имена строк не импортируются. В противном случае импортируйте имена строк из указанного столбца.
Пример: opts.RowNamesColumn = 2;
Типы данных: single | double | uint8 | uint16 | uint32 | uint64
VariableNamesLine - Расположение имен переменных0 (по умолчанию) | положительное скалярное целоеРасположение имен переменных, указанное как положительное скалярное целое число. VariableNamesLine свойство указывает номер строки, в которой расположены имена переменных.
Если VariableNamesLine указывается как 0, а затем имена переменных не импортируются. В противном случае импортируйте имена переменных из указанной строки.
Пример: opts.VariableNamesLine = 6;
Типы данных: single | double | uint8 | uint16 | uint32 | uint64
VariableDescriptionsLine - Расположение описания переменной0 (по умолчанию) | положительное скалярное целоеРасположение описания переменной, указанное как положительное скалярное целое число. VariableDescriptionsLine свойство указывает номер строки, в которой находятся описания переменных.
Если VariableDescriptionsLine указывается как 0, а затем описания переменных не импортируются. В противном случае импортируйте описания переменных из указанной строки.
Пример: opts.VariableDescriptionsLine = 7;
Типы данных: single | double | uint8 | uint16 | uint32 | uint64
VariableUnitsLine - Расположение переменных единиц0 (по умолчанию) | положительное скалярное целоеРасположение переменных единиц, указанное как положительное скалярное целое число. VariableUnitsLine свойство указывает номер строки, в которой расположены переменные единицы измерения.
Если VariableUnitsLine указан как 0, то не импортируйте переменные единицы измерения. В противном случае импортируйте переменные единицы измерения из указанной строки.
Пример: opts.VariableUnitsLine = 8;
Типы данных: single | double | uint8 | uint16 | uint32 | uint64
Delimiter - Символы разделителя полейСимволы разделителя полей в текстовом файле с разделителями, указанные как вектор символов, скаляр строк, массив ячеек векторов символов или массив строк.
Пример: 'Delimiter','|'
Пример: 'Delimiter',{';','*'}
Типы данных: char | string | cell
Whitespace - Символы, рассматриваемые как пробелыСимволы, обрабатываемые как пробелы, обозначаемые как вектор символов или строковый скаляр, содержащий один или несколько символов.
Пример: 'Whitespace',' _'
Пример: 'Whitespace','?!.,'
LineEnding - Символы конца строки{'\n','\r','\r\n'} (по умолчанию) | символьный вектор | строковый скаляр | массив ячеек символьных векторов | строковый массивСимволы конца строки, указанные как вектор символов, скаляр строк, массив ячеек векторов символов или массив строк.
Пример: 'LineEnding','\n'
Пример: 'LineEnding','\r\n'
Пример: 'LineEnding',{'\b',':'}
Типы данных: char | string | cell
CommentStyle - Стиль комментариевСтиль комментариев, заданный как символьный вектор, строковый скаляр, массив ячеек символьных векторов или строковый массив.
Например, чтобы игнорировать текст, следующий за знаком процента в той же строке, укажите CommentStyle как '%'.
Пример: 'CommentStyle',{'/*'}
Типы данных: char | string | cell
ConsecutiveDelimitersRule - Процедура обработки последовательных разделителей'split' | 'join' | 'error'Процедура обработки последовательных разделителей в текстовом файле с разделителями, указанном как одно из значений в этой таблице.
| Правило последовательных разделителей | Поведение |
|---|---|
'split' | Разделите последовательные разделители на несколько полей. |
'join' | Соедините разделители в один. |
'error' | Возвращает ошибку и прерывает операцию импорта. |
Типы данных: char | string
LeadingDelimitersRule - Процедура управления ведущими разделителями'keep' | 'ignore' | 'error'Процедура управления ведущими разделителями в текстовом файле с разделителями, указанном как одно из значений в этой таблице.
| Правило ведущих разделителей | Поведение |
|---|---|
'keep' | Сохранить разделитель. |
'ignore' | Игнорировать разделитель. |
'error' | Возвращает ошибку и прерывает операцию импорта. |
TrailingDelimitersRule - Процедура управления задними разделителями'keep' | 'ignore' | 'error'Процедура управления конечными разделителями в текстовом файле с разделителями, указанном как одно из значений в этой таблице.
| Правило ведущих разделителей | Поведение |
|---|---|
'keep' | Сохранить разделитель. |
'ignore' | Игнорировать разделитель. |
'error' | Возвращает ошибку и прерывает операцию импорта. |
Encoding - Схема кодирования символов'' | 'UTF-8' | 'system' | 'ISO-8859-1' | 'windows-1251' | 'windows-1252' | ...Схема кодирования символов, связанная с файлом, заданная как разделенная запятыми пара, состоящая из 'Encoding' и 'system' или имя стандартной схемы кодирования символов.
Если кодировка не указана, функция использует автоматическое обнаружение набора символов для определения кодировки при чтении файла.
Пример: 'Encoding','system' использует системную кодировку по умолчанию.
Типы данных: char | string
MissingRule - Процедура управления отсутствующими данными'fill' (по умолчанию) | 'error' | 'omitrow' | 'omitvar'Процедура управления отсутствующими данными, заданными в качестве одного из значений в этой таблице.
| Отсутствующее правило | Поведение |
|---|---|
'fill' | Замените отсутствующие данные на содержимое |
'error' | Остановите импорт и выведите сообщение об ошибке с отсутствующей записью и полем. |
'omitrow' | Опустить строки, содержащие отсутствующие данные. |
'omitvar' | Опустить переменные, содержащие отсутствующие данные. |
Пример: opts.MissingRule = 'omitrow';
Типы данных: char | string
EmptyLineRule - Процедура обработки пустых строк'skip' | 'read' | 'error'Процедура обработки пустых строк в данных, указанных как 'skip', 'read', или 'error'. Функция импорта интерпретирует пробел как пустой.
| Правило пустых строк | Поведение |
|---|---|
'skip' | Пропустите пустые строки. |
'read' | Импортируйте пустые строки. Функция импорта анализирует пустую строку, используя значения, указанные в VariableWidths, VariableOptions, MissingRuleи другие соответствующие свойства, такие как Whitespace. |
'error' | Вывод сообщения об ошибке и прекращение операции импорта. |
Пример: opts.EmptyLineRule = 'skip';
Типы данных: char | string
ImportErrorRule - Процедура обработки ошибок импорта'fill' (по умолчанию) | 'error' | 'omitrow' | 'omitvar'Процедура обработки ошибок импорта, указанная как одно из значений в этой таблице.
| Правило ошибки импорта | Поведение |
|---|---|
'fill' | Замените данные, в которых произошла ошибка, на содержимое |
'error' | Остановите импорт и отобразите сообщение об ошибке, содержащее запись и поле, вызывающие ошибки. |
'omitrow' | Опустить строки, в которых возникают ошибки. |
'omitvar' | Опустить переменные, в которых возникают ошибки. |
Пример: opts.ImportErrorRule = 'omitvar';
Типы данных: char | string
ExtraColumnsRule - Процедура обработки дополнительных столбцов'addvars' | 'ignore' | 'wrap' | 'error'Процедура обработки дополнительных столбцов в данных, указанных как одно из значений в этой таблице.
| Правило дополнительных столбцов | Поведение |
|---|---|
'addvars' | Чтобы импортировать дополнительные столбцы, создайте новые переменные. Если есть ПРИМЕЧАНИЕ: Дополнительные столбцы импортируются как текст с типом данных |
'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 30563 table
Представлен в:
R2016b — DelimitedTextImportOptions объект
R2018b — delimitedTextImportOptions функция
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.