detectImportOptions

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

Синтаксис

opts = detectImportOptions(filename)
opts = detectImportOptions(filename,Name,Value)

Описание

пример

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

пример

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

   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 наряду с объектом опций импортировать заданные переменные.

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'
                EmptyLineRule: 'skip'
                     Encoding: 'UTF-8'

   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

   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:

    WhitespaceRule
    Type
    FillValue
    Name
    QuoteRule
    TreatAsMissing
    Prefixes
    Suffixes
    EmptyFieldRule

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

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

Задайте подмножество переменных, чтобы импортировать и исследовать.

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

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

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  

Импортируйте текстовые данные как тип данных String путем определения настроек импорта.

Создайте объект опций для файла.

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

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

свернуть все

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

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

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

Форма

Файл в папке

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

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

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

Удаленное местоположение

(Amazon S3™, устройство хранения данных Windows Azure® Blob и HDFS™)

Если файл хранится в удаленном местоположении, то filename должен содержать полный путь файла, заданного как интернационализировавший идентификатор ресурса (IRI) формы:
scheme_name://path_to_file.

scheme_name может быть одним из этих значений: s3, wasb, wasbs или hdfs.

Для получения дополнительной информации смотрите работу с Удаленными данными.

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

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

Примечание

'FileExtensions' . xlsb и .ods только поддержаны на платформах с Excel® для Windows®.

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

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Имя должно появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'Тип файла', 'текст'

Параметры

свернуть все

Тип файла, заданного как пара, разделенная запятой, состоящая из 'FileType' и или 'text' или 'spreadsheet'.

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

  • txt dat или .csv для файлов разделенного текста

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

Примечание

'FileExtensions' . xlsb и .ods только поддержаны на платформах с Excel для Windows.

Пример: 'Тип файла', 'текст'

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

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

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

  • Строка Импортируйте текстовые данные в MATLAB как массивы строк.

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

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

ЗначениеВведите для данных даты и времени
datetime

MATLAB тип данных datetime

Для получения дополнительной информации смотрите datetime.

Текст
  • Если значение TextType установлено к char (значение по умолчанию), то данные даты и времени возвращены как массив ячеек из символьных векторов.

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

'exceldatenum'

Excel последовательные числа даты

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

Пример: 'DatetimeType', 'текст'

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

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

Пример: 'NumVariables', 10

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

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

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

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

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

свернуть все

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

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

Пример: 'Sheet7'

Пример 7

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

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

Способы задать Range Описание

'Corner1:Corner2'

Прямоугольная область значений

Задайте область значений с помощью синтаксиса 'Corner1:Corner2', где Corner1 и Corner2 являются двумя противостоящими углами, которые задают область. Например, 'D2:H4' представляет прямоугольную область 3 на 5 между этими двумя углами D2 и H4 на рабочем листе. Аргумент в виде пар "имя-значение" 'Range' не является чувствительным к регистру, и использует стиль ссылки Excel A1 (см. справку Excel).

Пример: 'Расположитесь', 'Corner1:Corner2'

''

Незаданный или пустой

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

Пример: Область значений

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

'Row1:Row2'

Область значений строки

Можно идентифицировать область значений путем определения начала и конечного использования строк указатели строки Excel. Затем readtable автоматически обнаруживает используемую область значений столбца в обозначенных строках. Например, функция импорта интерпретирует спецификацию области значений '1:7' как инструкция считать все столбцы в используемой области значений в строках 1 - 7 (включительно).

Пример: 'Расположитесь', '1:7'

'Column1:Column2'

Область значений столбца

Можно идентифицировать область значений путем определения начала и конечного использования столбцов указатели столбца Excel. Затем readtable автоматически обнаруживает используемую область значений строки в рамках обозначенных столбцов. Например, функция импорта интерпретирует спецификацию области значений 'A:F' как инструкция считать все строки в используемой области значений в столбцах A через F (включительно).

Пример: 'Расположитесь', 'A:F'

'NamedRange'

Именованная область значений Excel

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

Пример: 'Расположитесь', 'myTable'

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

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

свернуть все

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

Пример: '|'

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

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

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

Пример: '_'

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

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

Пример: N

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

Пример: B:'}

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

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

'Big5'

'ISO-8859-1'

'windows-847'

'Big5-HKSCS'

'ISO-8859-2'

'windows-949'

'CP949'

'ISO-8859-3'

'windows-1250'

'EUC-KR'

'ISO-8859-4'

'windows-1251'

'EUC-JP'

'ISO-8859-5'

'windows-1252'

'EUC-TW'

'ISO-8859-6'

'windows-1253'

'GB18030'

'ISO-8859-7'

'windows-1254'

'GB2312'

'ISO-8859-8'

'windows-1255'

'GBK'

'ISO-8859-9'

'windows-1256'

'IBM866'

'ISO-8859-11'

'windows-1257'

'KOI8-R'

'ISO-8859-13'

'windows-1258'

'KOI8-U'

'ISO-8859-15'

'US-ASCII'

 

'Macintosh'

'UTF-8'

 

'Shift_JIS'

 

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

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

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

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

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

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

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

ЗначениеВведите для импортированных данных длительности
длительность

MATLAB тип данных duration

Для получения дополнительной информации смотрите duration.

Текст

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

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

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

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

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

свернуть все

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

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

Для файлов электронной таблицыДля текстовых файлов
VariableNames (если таковые имеются)VariableNames (если таковые имеются)
VariableTypes VariableTypes
DataRange DataLine
VariableNamesRange VariableNamesLine
 Delimiter
 LeadingDelimitersRule (если пробел является разделителем),
 ConsecutiveDelimitersRule (если пробел является разделителем),
 PartialFieldRule (для файлов фиксированной ширины)

Введенный в R2017b

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