exponenta event banner

detectImportOptions

Создание параметров импорта на основе содержимого файла

Описание

пример

opts = detectImportOptions(filename) находит таблицу в файле и возвращает ее параметры импорта. Можно изменить объект опций и использовать его с readtable для управления тем, как MATLAB ® импортирует табличные данные. Тип возвращаемых параметров зависит от расширения файла. Например, функция возвращает SpreadsheetImportOptions объект, если filename является файлом электронной таблицы. Однако функция возвращает DelimitedTextImportOptions или FixedWidthImportOptions объект, если filename является текстовым файлом и XMLImportOptions объект, если filename является XML-файлом.

пример

opts = detectImportOptions(filename,Name,Value) находит таблицу в файле с помощью дополнительных параметров, заданных одним или несколькими Name,Value аргументы пары.

Примеры

свернуть все

Определите параметры импорта для файла электронной таблицы, укажите переменные для импорта, а затем прочитайте данные.

Создание объекта параметров импорта из файла.

opts = detectImportOptions('patients.xls')
opts = 
  SpreadsheetImportOptions with properties:

   Sheet Properties:
                        Sheet: ''

   Replacement Properties:
                  MissingRule: 'fill'
              ImportErrorRule: 'fill'

   Variable Import Properties: Set types by name using setvartype
                VariableNames: {'LastName', 'Gender', 'Age' ... and 7 more}
                VariableTypes: {'char', 'char', 'double' ... and 7 more}
        SelectedVariableNames: {'LastName', 'Gender', 'Age' ... and 7 more}
              VariableOptions: Show all 10 VariableOptions 
	Access VariableOptions sub-properties using setvaropts/getvaropts
           VariableNamingRule: 'modify'

   Range Properties:
                    DataRange: 'A2' (Start Cell)
           VariableNamesRange: 'A1'
                RowNamesRange: ''
           VariableUnitsRange: ''
    VariableDescriptionsRange: '' 
	To display a preview of the table, use preview

Измените объект параметров, чтобы указать, какие переменные требуется импортировать.

opts.SelectedVariableNames = {'Systolic','Diastolic'};

Использовать readtable вместе с объектом options для импорта указанных переменных.

T = readtable('patients.xls',opts);
summary(T)
Variables:

    Systolic: 100x1 double

        Values:

            Min         109   
            Median      122   
            Max         138   

    Diastolic: 100x1 double

        Values:

            Min           68  
            Median      81.5  
            Max           99  

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

Создание объекта параметров импорта из текстового файла.

opts = detectImportOptions('airlinesmall.csv')
opts = 
  DelimitedTextImportOptions with properties:

   Format Properties:
                    Delimiter: {','}
                   Whitespace: '\b\t '
                   LineEnding: {'\n'  '\r'  '\r\n'}
                 CommentStyle: {}
    ConsecutiveDelimitersRule: 'split'
        LeadingDelimitersRule: 'keep'
       TrailingDelimitersRule: 'ignore'
                EmptyLineRule: 'skip'
                     Encoding: 'ISO-8859-1'

   Replacement Properties:
                  MissingRule: 'fill'
              ImportErrorRule: 'fill'
             ExtraColumnsRule: 'addvars'

   Variable Import Properties: Set types by name using setvartype
                VariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more}
                VariableTypes: {'double', 'double', 'double' ... and 26 more}
        SelectedVariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more}
              VariableOptions: Show all 29 VariableOptions 
	Access VariableOptions sub-properties using setvaropts/getvaropts
           VariableNamingRule: 'modify'

   Location Properties:
                    DataLines: [2 Inf]
            VariableNamesLine: 1
               RowNamesColumn: 0
            VariableUnitsLine: 0
     VariableDescriptionsLine: 0 
	To display a preview of the table, use preview

Осмотрите Type свойство переменных TaxiIn и TaxiOut.

getvaropts(opts,{'TaxiIn','TaxiOut'})
ans = 
  1x2 TextVariableImportOptions array with properties:

    Name
    Type
    FillValue
    TreatAsMissing
    QuoteRule
    Prefixes
    Suffixes
    EmptyFieldRule
    WhitespaceRule

Изменение типа переменных TaxiIn и TaxiOut кому double.

 opts = setvartype(opts,{'TaxiIn','TaxiOut'},'double');

Укажите подмножество переменных для импорта и проверки.

opts.SelectedVariableNames = {'TaxiIn','TaxiOut'};

Используйте readtable вместе с объектом options для импорта выбранных переменных. Отображение сводки таблицы.

T = readtable('airlinesmall.csv',opts);
summary(T)
Variables:

    TaxiIn: 123523x1 double

        Values:

            Min             0      
            Median          5      
            Max             1451   
            NumMissing      37383  

    TaxiOut: 123523x1 double

        Values:

            Min             0      
            Median          13     
            Max             755    
            NumMissing      37364  

Импорт текстовых данных как строкового типа данных путем задания параметров импорта.

Создайте объект параметров для файла.

opts = detectImportOptions('outages.csv');

Укажите переменные для импорта с помощью readtable, а затем показать сводку. Тип данных выбранных переменных: char.

opts.SelectedVariableNames = {'Region','Cause'};
T = readtable('outages.csv',opts);
summary(T)
Variables:

    Region: 1468x1 cell array of character vectors

    Cause: 1468x1 cell array of character vectors

Импорт текстовых данных в виде string тип данных, а затем создайте параметры импорта, указав TextType пара имя-значение.

opts = detectImportOptions('outages.csv','TextType','string');

Укажите переменные для импорта с помощью readtable, а затем показать сводку. Тип данных выбранных переменных теперь string.

opts.SelectedVariableNames = {'Region','Cause'};
T = readtable('outages.csv',opts);
summary(T)
Variables:

    Region: 1468x1 string

    Cause: 1468x1 string

Зарегистрируйте пользовательский префикс пространства имен XML для существующего URL пространства имен во входном файле с помощью RegisteredNamespaces аргумент «имя-значение».

Создание XMLImportOptions из XML-файла. Укажите выражение XPath Street узел элемента как значение 'VariableSelectors'и зарегистрируйте префикс myPrefix к URL, принадлежащему Street узел.

opts = detectImportOptions("students.xml","RegisteredNamespaces", ["myPrefix","https://www.mathworks.com"],...
    "VariableSelectors","//myPrefix:Street")
opts = 
  XMLImportOptions with properties:

   Replacement Properties:
                     MissingRule: "fill"
                 ImportErrorRule: "fill"
                RepeatedNodeRule: "addcol"

   Variable Import Properties: Set types by name using setvartype
                   VariableNames: "Street"
                   VariableTypes: "string"
           SelectedVariableNames: "Street"
                 VariableOptions: Show all 1 VariableOptions 
	Access VariableOptions sub-properties using setvaropts/getvaropts
              VariableNamingRule: "preserve"

   Location Properties:
                   TableSelector: <missing>
                     RowSelector: <missing>
               VariableSelectors: "//myPrefix:Street"
           VariableUnitsSelector: <missing>
    VariableDescriptionsSelector: <missing>
                RowNamesSelector: <missing>
            RegisteredNamespaces: ["myPrefix"    "https://www.mathworks.com"]

Используйте readtable вместе с объектом options для импорта выбранной переменной.

T2 = readtable("students.xml",opts)
T2=7×1 table
          Street       
    ___________________

    "591 Spring Lane"  
    "4641 Pearl Street"
    "30 Highland Road" 
    "3388 Moore Avenue"
    "3388 Moore Avenue"
    "22 Angie Drive"   
    "65 Decatur Lane"  

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

свернуть все

Имя считываемого файла, указанное как вектор символа или скаляр строки.

В зависимости от расположения файла, filename может принять одну из этих форм.

Местоположение

Форма

Текущая папка или папка по пути MATLAB

Укажите имя файла в filename.

Пример: 'myFile.txt'

Файл в папке

Если файл находится не в текущей папке или в папке по пути MATLAB, укажите полный или относительный путь в filename.

Пример: 'C:\myFolder\myFile.xlsx'

Пример: '\imgDir\myFile.txt'

URL-адрес в Интернете

Если файл указан как URL-адрес унифицированного ресурса Интернета, то filename должен содержать тип протокола 'http://' или 'https://'.

Пример: 'http://hostname/path_to_file/my_data.csv'

Удаленное расположение

Если файл хранится в удаленном местоположении, то filename должен содержать полный путь к файлу, указанному в форме:

scheme_name://path_to_file/my_file.ext

На основе удаленного местоположения, scheme_name может быть одним из значений в этой таблице.

Удаленное расположениеscheme_name
Амазонский S3™s3
Хранилище больших двоичных объектов Windows Azure ®wasb, wasbs
HDFS™hdfs

Дополнительные сведения см. в разделе Работа с удаленными данными.

Пример: 's3://bucketname/path_to_file/my_file.csv'

Если filename включает расширение файла, затем detectImportOptions определяет формат файла из расширения. В противном случае необходимо указать 'FileType' пара имя-значение для указания типа файла.

detectImportOptions функция поддерживает следующие расширения файлов: .txt, .dat, .csv, .xls, .xlsb, .xlsm, .xlsx, .xltm, .xltx, .ods, и .xml.

Примечание

Расширения файлов .xlsb и .ods поддерживаются только на платформах с Excel ® для Windows ®.

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

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: 'FileType','spreadsheet'
Все поддерживаемые типы файлов

свернуть все

Тип файла, указанный как разделенная запятыми пара, состоящая из 'FileType' и одно из этих значений.

СтоимостьПараметры импорта для файла
'spreadsheet'

Вернуть a SpreadsheetImportOptions объект.

'text'

Вернуть a DelimitedTextImportOptions или FixedWidthImportOptions в зависимости от макета текстового файла.

'delimitedtext'

Вернуть a DelimitedTextImportOptions объект. Этот параметр используется для текстовых файлов со столбцами, разделенными разделителями.

'fixedwidth'

Вернуть a FixedWidthImportOptions объект. Эта опция используется для текстовых файлов со столбцами фиксированной ширины.

'xml'

Вернуть XMLImportOptions объект. Используйте этот параметр для XML-файлов.

Используйте 'FileType' аргумент пары имя-значение при filename не включает расширение файла, или если расширение не является одним из следующих:

  • .txt, .dat, или .csv для текстовых файлов

  • .xls, .xlsb, .xlsm, .xlsx, .xltm, .xltx, или .ods для файлов электронных таблиц

  • .xml, для XML-файлов

Расширения файлов .xlsb и .ods поддерживаются только на платформах с Excel для Windows.

Пример: 'FileType','text'

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

Тип для импортированных текстовых данных, указанный как разделенная запятыми пара, состоящая из 'TextType' и либо 'char' или 'string'.

  • 'char' - Импорт текстовых данных в MATLAB в виде векторов символов.

  • 'string' - Импорт текстовых данных в MATLAB в виде массивов строк.

Пример: 'TextType','char'

Тип импортированных данных даты и времени, указанный как разделенная запятыми пара, состоящая из 'DatetimeType' и одно из этих значений: 'datetime', 'text', или 'exceldatenum'. Стоимость 'exceldatenum' применима только для файлов электронных таблиц и недопустима для текстовых файлов.

СтоимостьТип импортированных данных даты и времени
'datetime'

MATLAB datetime тип данных

Дополнительные сведения см. в разделе datetime.

'text'

Если 'DatetimeType' указывается как 'text', то тип импортированных данных даты и времени зависит от значения, указанного в 'TextType' параметр:

  • Если 'TextType' имеет значение 'char'затем функция импорта возвращает даты в виде массива ячеек символьных векторов.

  • Если 'TextType' имеет значение 'string'затем функция импорта возвращает даты в виде массива строк.

'exceldatenum'

Серийные номера Excel

Порядковый номер даты - это одно число, равное количеству дней от заданной ссылочной даты. Серийные номера Excel используют другую ссылочную дату, чем серийные номера MATLAB. Дополнительные сведения о датах Excel см. в разделе https://support.microsoft.com/en-us/kb/214330.

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

Индикатор для считывания первой строки в виде имен переменных, указанный как пара, разделенная запятыми, состоящая из 'ReadVariableNames' и либо true или false. Если не указано, readtable автоматически обнаруживает наличие имен переменных.

Индикатор

Описание

true

Используется, когда первая строка области для чтения содержит имена переменных для таблицы. readtable создает переменную с обнаруженным именем переменной для каждого столбца в T.

false

Используется, когда первая строка считываемой области содержит данные в таблице. readtable создает имена переменных по умолчанию для формы 'Var1',...,'VarN', где N - количество переменных.

неуказанный Если не указано, функция импорта автоматически обнаруживает true или false и принимает соответствующие меры.

Типы данных: logical

Флаг для сохранения имен переменных, указанный как разделенная запятыми пара, состоящая из VariableNamingRule и либо 'modify' или 'preserve'.

  • 'modify' - Преобразовать недопустимые имена переменных (согласно определению isvarname к допустимым идентификаторам MATLAB.

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

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

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

Индикатор для считывания первого столбца в виде имен строк, указанный как пара, разделенная запятыми, состоящая из 'ReadRowNames' и либо false или true.

Индикатор

Описание

false

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

true

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

неуказанныйЕсли не указано, функция импорта предполагает, что false.

Типы данных: logical

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

Отсутствующее правилоПоведение
'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

Текстовые файлы и файлы электронных таблиц

свернуть все

Ожидаемое количество переменных, указанное как пара, разделенная запятыми, состоящая из 'ExpectedNumVariables' и положительное целое число. Если параметр не указан, функция импорта автоматически определяет количество переменных.

Типы данных: single | double

Количество строк заголовка в файле, указанное как разделенная запятыми пара, состоящая из 'NumHeaderLines' и положительное целое число. Если значение не указано, функция импорта автоматически определяет количество строк заголовка в файле.

Пример: 'NumHeaderLines',7

Типы данных: single | double

Часть данных для чтения из текстовых файлов или файлов электронных таблиц, указанная как пара, разделенная запятыми, состоящая из 'Range' и символьный вектор, строковый скалярный или числовой вектор в одной из этих форм.

Способы определения RangeОписание

Начальная ячейка

'Cell' или [row col]

Укажите начальную ячейку для данных в виде символьного или строкового скалярного или двухэлементного числового вектора.

  • Символьный вектор или строковый скаляр, содержащий букву столбца и номер строки с помощью Excel A1 нотация. Например, A5 идентификатор ячейки на пересечении столбца; A и строка 5.

  • Двухэлементный числовой вектор формы [row col] с указанием начальной строки и столбца.

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

Пример: 'A5' или [5 1]

Прямоугольный диапазон

'Corner1:Corner2' или [r1 c1 r2 c2]

Укажите точный диапазон для чтения с использованием прямоугольного диапазона в одной из этих форм.

  • 'Corner1:Corner2' - Укажите диапазон с помощью Corner1 и Corner2 которые являются двумя противоположными углами, определяющими область для чтения в Excel A1 нотация. Например, 'C2:N15'.

  • [r1 c1 r2 c2] - укажите диапазон с помощью четырехэлементного числового вектора, содержащего начальную строку, начальный столбец, конечную строку и конечный столбец. Например, [2 3 15 13].

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

Диапазон строк или диапазон столбцов

'Row1:Row2' или 'Column1:Column2'

Укажите диапазон, определив начальную и конечную строки с помощью номеров строк Excel.

Используя указанный диапазон строк, функция импорта автоматически обнаруживает экстент столбца, считывая от первого непустого столбца до конца данных, и создает одну переменную на столбец.

Пример: '5:500'

Можно также указать диапазон, определив начальный и конечный столбцы с помощью букв или цифр столбцов Excel.

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

Число столбцов в указанном диапазоне должно соответствовать числу, указанному в ExpectedNumVariables собственность.

Пример: 'A:K'

Начальный номер строки

n

Укажите первую строку, содержащую данные, используя положительный скалярный индекс строки.

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

Пример:5

Именованный диапазон Excel

'NamedRange'

В Excel можно создавать имена для идентификации диапазонов в электронной таблице. Например, можно выбрать прямоугольную часть электронной таблицы и вызвать ее 'myTable'. Если такие именованные диапазоны существуют в электронной таблице, то функция импорта может считывать этот диапазон с помощью своего имени.

Пример: 'Range','myTable'

Не указан или пуст

''

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

Пример: 'Range',''

Примечание.Используемый диапазон относится к прямоугольной части электронной таблицы, которая фактически содержит данные. Функция импорта автоматически обнаруживает используемый диапазон путем обрезки всех начальных и конечных строк и столбцов, не содержащих данных. Текст, который является только пробелом, считается данными и фиксируется в пределах используемого диапазона.

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

Параметры только для файлов электронных таблиц

свернуть все

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

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

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

Параметры только для текстовых файлов

свернуть все

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

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

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

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

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

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

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

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

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

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

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

Ширина полей переменных в текстовом файле фиксированной ширины, заданная как вектор положительных целых значений. Каждое положительное целое число в векторе соответствует количеству символов в поле, которое составляет переменную. VariableWidths содержит запись, соответствующую каждой переменной, указанной в VariableNames собственность.

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

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

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

Символы конца строки, указанные как вектор символов, скаляр строк, массив ячеек векторов символов или массив строк.

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

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

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

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

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

Если кодировка не указана, функция использует автоматическое обнаружение набора символов для определения кодировки при чтении файла.

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

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

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

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

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

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

Тип выходных данных длительности из текстовых файлов, указанный как разделенная запятыми пара, состоящая из 'DurationType' и либо 'duration' или 'text'.

СтоимостьТип для импортированных данных длительности
'duration'

MATLAB duration тип данных

Дополнительные сведения см. в разделе duration.

'text'

Если 'DurationType' указывается как 'text', то тип импортированных данных длительности зависит от значения, указанного в 'TextType' параметр:

  • Если 'TextType' имеет значение 'char'затем функция импорта возвращает данные длительности в виде массива ячеек символьных векторов.

  • Если 'TextType' имеет значение 'string', то функция импорта возвращает данные длительности в виде массива строк.

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

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

Правило дополнительных столбцовПоведение
'addvars'

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

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

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

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

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

Когда функция импорта находит отсутствующие экземпляры, она использует спецификацию в MissingRule для определения соответствующего действия.

Пример: 'TreatAsMissing',{'NA','TBD'} предписывает функции импорта обрабатывать любое возникновение NA или TBD как отсутствующие поля.

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

Языковой стандарт для чтения дат, указанный как пара, разделенная запятыми, состоящая из 'DateLocale' и вектор символов или строковый скаляр формы xx_YY, где:

  • YY является верхним кодом ISO 3166-1 альфа-2, указывающим страну.

  • xx - строчный двухбуквенный код ISO 639-1, указывающий язык.

Список общих значений для языкового стандарта см. в разделе Locale аргумент пары имя-значение для datetime функция.

При использовании %D спецификатор формата для чтения текста как datetime значения, использование DateLocale для указания языкового стандарта, в котором функция импорта должна интерпретировать имена и сокращения месяца и дня недели.

При указании DateLocale аргумент в дополнение к opts параметры импорта, затем функция импорта использует указанное значение для DateLocale , переопределяя языковой стандарт, определенный в параметрах импорта.

Пример: 'DateLocale','ja_JP'

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

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

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

При преобразовании в целочисленные типы данных числа с десятичной частью округляются до ближайшего целого числа.

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

Удаление нечисловых символов из числовой переменной, указанной как логическая true или false.

Типы данных: logical

Тип выходных данных шестнадцатеричных данных, указанный как разделенная запятыми пара, состоящая из 'HexType' и одно из значений, перечисленных в таблице.

Входной файл представляет шестнадцатеричные значения в виде текста, используя либо 0x или 0X как префикс и символы 0-9, a-f, и A-F в виде цифр. (Прописные и строчные буквы обозначают одни и те же цифры - например,'0xf' и '0xF' оба представляют 15.)

Функция импорта преобразует шестнадцатеричные значения в тип данных, указанный значением 'HexType'.

Значение 'HexType'

Тип данных переменных выходной таблицы

'auto'

тип данных обнаружен автоматически

'text'

неизмененный входной текст

'int8'

8-битное целое число, со знаком

'int16'

16-битное целое число, со знаком

'int32'

32-разрядное целое число, со знаком

'int64'

64-разрядное целое число, со знаком

'uint8'

8-битное целое число, без знака

'uint16'

16-битное целое число, без знака

'uint32'

32-разрядное целое число, без знака

'uint64'

64-разрядное целое число, без знака

Пример: 'HexType','uint16' преобразует текст, представляющий шестнадцатеричные значения (например, '0xFF') для неподписанных 16-битных целых чисел (таких как 255) в выходной таблице.

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

Тип выходных данных двоичных данных, указанный как разделенная запятыми пара, состоящая из 'BinaryType' и одно из значений, перечисленных в таблице.

Входной файл представляет двоичные значения в виде текста, используя либо 0b или 0B как префикс и символы 0 и 1 в виде цифр.

Функция импорта преобразует двоичные значения в тип данных, указанный значением 'BinaryType'.

Значение 'BinaryType'

Тип данных переменных выходной таблицы

'auto'

тип данных обнаружен автоматически

'text'

неизмененный входной текст

'int8'

8-битное целое число, со знаком

'int16'

16-битное целое число, со знаком

'int32'

32-разрядное целое число, со знаком

'int64'

64-разрядное целое число, со знаком

'uint8'

8-битное целое число, без знака

'uint16'

16-битное целое число, без знака

'uint32'

32-разрядное целое число, без знака

'uint64'

64-разрядное целое число, без знака

Пример: 'BinaryType','uint16' преобразует текст, представляющий двоичные значения (например, '0b11111111') для неподписанных 16-битных целых чисел (таких как 255) в выходной таблице.

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

Только XML-файлы

свернуть все

Импорт атрибутов, указанных как разделенная запятыми пара, состоящая из 'ImportAttributes' и либо 1 (true) или 0 (false). При указании false, то функция чтения не будет импортировать атрибуты XML во входной файл как переменные в выходной таблице.

Пример: 'ImportAttributes',false

суффикс атрибута, указанный как пара, разделенная запятыми, состоящая из 'AttributeSuffix' и либо вектор символов, либо строковый скаляр. Этот аргумент указывает суффикс, который функция чтения добавляет ко всем переменным таблицы, соответствующим атрибутам во входном XML-файле. Если не указать 'AttributeSuffix', то функция чтения по умолчанию добавляет суффикс 'Attribute' ко всем именам переменных, соответствующим атрибутам во входном XML-файле.

Пример: 'AttributeSuffix','_att'

Имя XML-узла строки таблицы, указанное как разделенная запятыми пара, состоящая из 'RowNodeName' и либо вектор символов, либо строковый скаляр. Этот аргумент указывает имя узла XML, которое определяет строки выходной таблицы.

Пример: 'RowNodeName','XMLNodeName'

Выражение XPath строки таблицы, указанное как вектор символов или скаляр строки, используемый функцией чтения для выбора отдельных строк выходной таблицы. Необходимо указать RowSelector как допустимое выражение XPath версии 1.0.

Пример: 'RowSelector','/RootNode/ChildNode'

Имена XML-узлов переменной таблицы, указанные как разделенная запятыми пара, состоящая из 'VariableNodeNames' и либо массив ячеек из символьных векторов, либо строковый массив. Этот аргумент указывает имя узла XML, которое функция чтения использует для идентификации узлов XML, которые будут считываться как переменные в выходной таблице.

Пример: 'VariableNodeNames',{'XMLNodeName1','XMLNodeName2'}

Пример: 'VariableNodeNames',"XMLNodeName"

Пример: 'VariableNodeNames',["XMLNodeName1","XMLNodeName2"]

Выражения XPath табличной переменной, указанные как массив ячеек символьных векторов или строковый массив, используемый функцией чтения для выбора табличных переменных. Необходимо указать VariableSelectors как допустимые выражения XPath версии 1.0.

Пример: 'VariableSelectors',{'/RootNode/ChildNode'}

Пример: 'VariableSelectors',"/RootNode/ChildNode"

Пример: 'VariableSelectors',["/RootNode/ChildNode1","/RootNode/ChildNode2"]

Имя узла XML таблицы, указанное как разделенная запятыми пара, состоящая из 'TableNodeName' и либо вектор символов, либо строковый скаляр. Этот аргумент указывает узел в структуре ввода, который функция чтения должна считывать в таблицу.

Пример: 'TableNodeName','NodeName'

Выражение XPath табличных данных, указанное как вектор символов или скаляр строки, используемый функцией чтения для выбора данных выходной таблицы. Необходимо указать TableSelector как допустимое выражение XPath версии 1.0.

Пример: 'TableSelector','/RootNode/ChildNode'

Переменные единицы XPath, заданные как вектор символов или скаляр строки, используемый функцией чтения для выбора табличных переменных единиц. Необходимо указать VariableUnitsSelector как допустимое выражение XPath версии 1.0.

Пример: 'VariableUnitsSelector','/RootNode/ChildNode'

Выражение XPath описаний переменных, указанное как вектор символов или скаляр строки, используемый функцией чтения для выбора описаний переменных таблицы. Необходимо указать VariableDescriptionsSelector как допустимое выражение XPath версии 1.0.

Пример: 'VariableDescriptionsSelector','/RootNode/ChildNode'

Строка таблицы называет выражение XPath, указанное как вектор символов или скаляр строки, который функция чтения использует для выбора имен строк таблицы. Необходимо указать RowNamesSelector как допустимое выражение XPath версии 1.0.

Пример: 'RowNamesSelector','/RootNode/ChildNode'

Процедура обработки повторяющихся узлов XML в данной строке таблицы, указанная как 'addcol', 'ignore', или 'error'.

Правило повторяющегося узла

Поведение

'addcol'

Добавление столбцов для повторяющихся узлов под заголовком переменной в таблице. Указание значения 'RepeatedNodeRule' как 'addcol' не создает отдельную переменную в таблице для повторяющегося узла.

'ignore'

Пропустить импорт повторяющихся узлов.

'error'Вывод сообщения об ошибке и прекращение операции импорта.

Пример: 'RepeatedNodeRule','ignore'

Набор зарегистрированных префиксов пространства имен XML, указанный как пара, разделенная запятыми, состоящая из RegisteredNamespaces и массив префиксов. Функция чтения использует эти префиксы при оценке выражений XPath в XML-файле. Укажите префиксы пространства имен и связанные с ними URL-адреса в виде массива Nx2 строк. RegisteredNamespaces может использоваться при вычислении выражения XPath, указанного аргументом «имя-значение селектора», например StructSelector для readstruct, или VariableSelectors для readtable и readtimetable.

По умолчанию функция чтения автоматически обнаруживает префиксы пространства имен для регистрации для использования в вычислении XPath, но можно также зарегистрировать новые префиксы пространства имен с помощью RegisteredNamespaces аргумент «имя-значение». Можно зарегистрировать новый префикс пространства имен, если узел XML имеет URL-адрес пространства имен, но в XML-файле нет объявленного префикса пространства имен.

Например, вычислить выражение XPath в XML-файле с именем example.xml не содержит префикс пространства имен. Определить 'RegisteredNamespaces' как [“myprefix”, “https://www.mathworks.com”] для назначения префикса myprefix на URL-адрес https://www.mathworks.com.

T = readtable("example.xml", "VariableSelector", "/myprefix:Data",...
 "RegisteredNamespaces", [“myprefix”, “https://www.mathworks.com”])

Пример: 'RegisteredNamespaces',[“myprefix”, “https://www.mathworks.com”]

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

свернуть все

Параметры импорта для указанного файла, возвращенные как SpreadsheetImportOptions, DelimitedTextImportOptions, FixedWidthImportOptions, или XMLImportOptions объект. Тип объекта options зависит от типа указанного файла. Для текстовых файлов (.txt, .dat, или .csv), detectImportOptions функция возвращает DelimitedTextImportOptions или FixedWidthImportOptions объект. Для файлов электронных таблиц (.xls, .xlsb, .xlsm, .xlsx, .xltm, .xltx, или .ods), detectImportOptions функция возвращает SpreadsheetImportOptions объект. Для XML-файлов (.xml), detectImportOptions возвращает XMLImportOptions объект.

Совет

  • Обновление значений свойств после создания объекта параметров импорта: использование точечных обозначений не рекомендуется для обновления свойств объекта параметров импорта, созданного detecImportOptions. При задании свойств с помощью точечных обозначений MATLAB повторно не обнаруживает все опции импорта для файла. Поэтому для обновления и повторного обнаружения всех свойств необходимо указать новые значения с помощью аргументов «имя-значение». Например, обновите значение для ConsecutiveDelimitersRule и повторно определите параметры импорта следующим образом.

    opts = detectImportOptions(__,'ConsecutiveDelimitersRule','join')

  • Следующие синтаксисы XPath поддерживаются для аргументов «имя-значение селектора XPath», таких как RowSelector или VariableSelector.

    • Чтобы выбрать каждый узел, имя которого соответствует выбранному узлу, независимо от его расположения в документе, используйте "//myNode" синтаксис. Вы можете использовать "//myNode" чтобы опустить выражение XPath, предшествующее узлу, который требуется выбрать.

    • Чтобы прочитать один из нескольких одноранговых узлов под одним родительским узлом в файле, можно указать ChildNode[n], где n соответствует одноранговому узлу, который требуется проиндексировать. Например, путь "/RootNode/ChildNode[2]" выбирает второе ChildNode элемент, родительский элемент которого RootNode.

    • Чтобы считать значение атрибута, принадлежащего узлу элемента во входном XML-файле, укажите @ перед именем атрибута. Например, "/RootNode/ChildNode[2]/@AttributeName" выбирает атрибут AttributeName относится ко второму ChildNode элемент, родительский элемент которого RootNode.

Представлен в R2016b