exponenta event banner

setvaropts

Задать параметры импорта переменных

Описание

opts = setvaropts(opts,Name,Value) обновляет все переменные в opts на основе спецификаций в Name,Value аргументы и возвращает opts объект.

пример

opts = setvaropts(opts,selection,Name,Value) обновления и возврат opts для переменных, указанных в selection аргумент, основанный на спецификациях в Name,Value аргументы.

Примеры

свернуть все

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

Создание объекта опций для электронной таблицы patients.xls.

opts = detectImportOptions('patients.xls');

Установите FillValue для свойства Smoker, Diastolic, и Systolic переменные.

opts = setvaropts(opts,'Smoker','FillValue',false);
opts = setvaropts(opts,{'Diastolic','Systolic'},'FillValue',0);

Выберите переменные для импорта.

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

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

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

    Smoker: 100x1 logical

        Values:

            True        34   
            False       66   

    Diastolic: 100x1 double

        Values:

            Min           68  
            Median      81.5  
            Max           99  

    Systolic: 100x1 double

        Values:

            Min         109   
            Median      122   
            Max         138   

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

Создание объекта параметров импорта для файла, обновление свойств, управляющих импортом отсутствующих данных, а затем использование readtable для импорта данных. Обратите внимание, что набор данных airlinesmall.csv имеет две числовые переменные ArrDelay и DepDelay, которые содержат отсутствующие данные, указанные NA.

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

opts = detectImportOptions('airlinesmall.csv');

Используйте TreatAsMissing для указания символов в данных, которые являются держателями места для отсутствующих экземпляров. В этом примере две числовые переменные ArrDelay и DepDelay содержат отсутствующие поля, содержащие текст NA.

opts = setvaropts(opts,{'ArrDelay','DepDelay'},'TreatAsMissing','NA');

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

opts.MissingRule = 'fill';

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

opts = setvaropts(opts,{'ArrDelay','DepDelay'},'FillValue',0);

Выберите переменные, с которыми требуется работать, и импортируйте их с помощью readtable.

opts.SelectedVariableNames = {'ArrDelay','DepDelay'}; 
T = readtable('airlinesmall.csv',opts);

Проверьте значения в ArrDelay и DepDelay. Убедитесь, что функция импорта заменила отсутствующие значения, обозначенные NA.

T(166:180,:)
ans=15×2 table
    ArrDelay    DepDelay
    ________    ________

       -1           0   
      102         105   
      -11           0   
        0           0   
       -1           0   
        0           0   
        1           0   
        1           0   
       14           0   
      -14           0   
        5           0   
       25          38   
        0          -5   
        0           0   
        6           0   

readtable функция автоматически обнаруживает шестнадцатеричные и двоичные числа с помощью 0x и 0b префиксы. Чтобы импортировать такие номера без префиксов, используйте объект параметров импорта.

Создание объекта параметров импорта для файла hexAndBinary.txt. Его третий столбец имеет шестнадцатеричные числа без 0x префикс.

opts = detectImportOptions('hexAndBinary.txt')
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: 'UTF-8'

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

   Variable Import Properties: Set types by name using setvartype
                VariableNames: {'Var1', 'Var2', 'Var3' ... and 1 more}
                VariableTypes: {'auto', 'auto', 'char' ... and 1 more}
        SelectedVariableNames: {'Var1', 'Var2', 'Var3' ... and 1 more}
              VariableOptions: Show all 4 VariableOptions 
	Access VariableOptions sub-properties using setvaropts/getvaropts
           VariableNamingRule: 'modify'

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

Чтобы указать, что третий столбец должен быть импортирован как шестнадцатеричные значения, несмотря на отсутствие префикса, используйте setvaropts функция. Задайте для типа третьей переменной значение int32. Установка для системы нумерации для импорта третьего столбца значения hex.

opts = setvaropts(opts,3,'NumberSystem','hex','Type','int32')
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: 'UTF-8'

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

   Variable Import Properties: Set types by name using setvartype
                VariableNames: {'Var1', 'Var2', 'Var3' ... and 1 more}
                VariableTypes: {'auto', 'auto', 'int32' ... and 1 more}
        SelectedVariableNames: {'Var1', 'Var2', 'Var3' ... and 1 more}
              VariableOptions: Show all 4 VariableOptions 
	Access VariableOptions sub-properties using setvaropts/getvaropts
           VariableNamingRule: 'modify'

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

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

T = readtable('hexAndBinary.txt',opts)
T=3×4 table
    Var1     Var2    Var3        Var4    
    _____    ____    _____    ___________

      255    255     51193    {'Device1'}
      256      4      1471    {'Device2'}
    43981    129     61455    {'Device3'}

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

Предварительный просмотр данных в patients.xls. Обратите внимание на текстовые данные в столбце LastName. Здесь показан только предварительный просмотр первых 10 строк.

Получение объекта параметров импорта.

opts = detectImportOptions('patients.xls');

Получить и изучить VariableImportOptions для переменной LastName.

getvaropts(opts,'LastName')
ans = 
  TextVariableImportOptions with properties:

   Variable Properties:
              Name: 'LastName'
              Type: 'char'
         FillValue: ''
    TreatAsMissing: {}
         QuoteRule: 'remove'
          Prefixes: {}
          Suffixes: {}
    EmptyFieldRule: 'missing'

   String Options:
    WhitespaceRule: 'trim'

Задайте тип данных переменной как string.

opts = setvartype(opts,'LastName','string');

Установите FillValue свойство переменной для замены отсутствующих значений на 'NoName'.

opts = setvaropts(opts,'LastName','FillValue','NoName');

Выберите, прочитайте и просмотрите первые 10 строк переменной.

opts.SelectedVariableNames = 'LastName';
T = readtable('patients.xls',opts); 
T.LastName(1:10)
ans = 10x1 string
    "Smith"
    "Johnson"
    "Williams"
    "Jones"
    "Brown"
    "Davis"
    "Miller"
    "Wilson"
    "Moore"
    "Taylor"

Используйте setvaropts для обновления свойств, управляющих импортом logical данные. Сначала получите объект параметров импорта для файла. Затем изучите и обновите параметры логических переменных. Наконец, импортируйте переменные с помощью readtable функция.

Предварительный просмотр данных в airlinesmall_subset.xlsx. Обратите внимание на логические данные в столбце Cancelled. Здесь отображается только предварительный просмотр строк, 30 40.

Получение объекта параметров импорта.

opts = detectImportOptions('airlinesmall_subset.xlsx');

Получить и изучить VariableImportOptions для переменной Cancelled.

getvaropts(opts,'Cancelled')
ans = 
  NumericVariableImportOptions with properties:

   Variable Properties:
                  Name: 'Cancelled'
                  Type: 'double'
             FillValue: NaN
        TreatAsMissing: {}
             QuoteRule: 'remove'
              Prefixes: {}
              Suffixes: {}
        EmptyFieldRule: 'missing'

   Numeric Options:
     ExponentCharacter: 'eEdD'
      DecimalSeparator: '.'
    ThousandsSeparator: ''
        TrimNonNumeric: 0
          NumberSystem: 'decimal'

Задайте тип данных переменной как logical.

opts = setvartype(opts,'Cancelled','logical');

Установите FillValue свойство переменной для замены отсутствующих значений на true.

opts = setvaropts(opts,'Cancelled','FillValue',true);

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

opts.SelectedVariableNames = 'Cancelled';
T = readtable('airlinesmall_subset.xlsx',opts); 
summary(T)
Variables:

    Cancelled: 1338x1 logical

        Values:

            True         29  
            False      1309  

Использовать DatetimeVariableImportOptions свойства для управления импортом datetime данные. Во-первых, получите ImportOptions объект для файла. Затем проверьте и обновите VariableImportOptions для переменных datetime. Наконец, импортируйте переменные с помощью readtable.

Предварительный просмотр данных в outages.csv. Обратите внимание на данные даты и времени в столбцах OutageTime и RestorationTime. Здесь показаны только первые 10 строк.

Получение объекта параметров импорта.

opts = detectImportOptions('outages.csv');

Получить и изучить VariableImportOptions для переменных datetime OutageTime и RestorationTime.

varOpts = getvaropts(opts,{'OutageTime','RestorationTime'})
varOpts = 
  1x2 DatetimeVariableImportOptions array with properties:

    Name
    Type
    FillValue
    TreatAsMissing
    QuoteRule
    Prefixes
    Suffixes
    EmptyFieldRule
    DatetimeFormat
    DatetimeLocale
    TimeZone
    InputFormat

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

opts = setvaropts(opts,{'OutageTime','RestorationTime'},...
                                           'FillValue','now');

Выберите, прочитайте и просмотрите две переменные. Обратите внимание на отсутствующее значение во второй строке RestorationTime был заполнен текущей датой и временем.

opts.SelectedVariableNames = {'OutageTime','RestorationTime'};
T = readtable('outages.csv',opts); 
T(1:10,:)
ans=10×2 table
       OutageTime       RestorationTime 
    ________________    ________________

    2002-02-01 12:18    2002-02-07 16:50
    2003-01-23 00:49    2021-03-23 17:10
    2003-02-07 21:15    2003-02-17 08:14
    2004-04-06 05:44    2004-04-06 06:10
    2002-03-16 06:18    2002-03-18 23:23
    2003-06-18 02:49    2003-06-18 10:54
    2004-06-20 14:39    2004-06-20 19:16
    2002-06-06 19:28    2002-06-07 00:51
    2003-07-16 16:23    2003-07-17 01:12
    2004-09-27 11:09    2004-09-27 16:37

Используйте setvaropts для обновления свойств, управляющих импортом categorical данные. Сначала получите объект параметров импорта для файла. Затем изучите и обновите параметры категориальных переменных. Наконец, импортируйте переменные с помощью readtable функция.

Предварительный просмотр данных в outages.csv. Обратите внимание на категориальные данные в столбцах Region и Cause. В этой таблице представлены только первые 10 строк.

Получение объекта параметров импорта.

opts = detectImportOptions('outages.csv');

Получение и изучение параметров переменных Region и Cause.

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

    Name
    Type
    FillValue
    TreatAsMissing
    QuoteRule
    Prefixes
    Suffixes
    EmptyFieldRule
    WhitespaceRule

Задайте тип данных переменных как categorical.

opts = setvartype(opts,{'Region','Cause'},'categorical');

Установите FillValue свойство переменных для замены отсутствующих значений на имя категории 'Miscellaneous'. Набор TreatAsMissing свойство для 'unknown'.

opts = setvaropts(opts,{'Region','Cause'},...
                                   'FillValue','Miscellaneous',...
                                   'TreatAsMissing','unknown');

Выберите, прочитайте и просмотрите сводку двух переменных.

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

    Region: 1468x1 categorical

        Values:

            MidWest        142   
            NorthEast      557   
            SouthEast      389   
            SouthWest       26   
            West           354   

    Cause: 1468x1 categorical

        Values:

            Miscellaneous          24   
            attack                294   
            earthquake              2   
            energy emergency      188   
            equipment fault       156   
            fire                   25   
            severe storm          338   
            thunder storm         201   
            wind                   95   
            winter storm          145   

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

Создайте параметры импорта для файла и просмотрите таблицу.

filename = 'pref_suff_trim.csv';
opts = detectImportOptions(filename);
preview(filename,opts)
ans=8×5 table
             Time                 DayOfWeek          Power        Total_Fees    Temperature
    _______________________    _______________    ____________    __________    ___________

    'Timestamp:1/1/06 0:00'    '& Sun %20'    '54.5448 MW'    '$1.23'       '-7.2222 C'
    'Timestamp:1/2/06 1:00'    '& Thu %20'    '.3898 MW'      '$300.00'     '-7.3056 C'
    'Timestamp:1/3/06 2:00'    '& Sun %20'    '51.6344 MW'    '£2.50'      '-7.8528 C'
    'Timestamp:1/4/06 3:00'    '& Sun %20'    '51.5597 MW'    '$0.00'       '-8.1778 C'
    'Timestamp:1/5/06 4:00'    '& Wed %20'    '51.7148 MW'    'Â¥4.00'      '-8.9343 C'
    'Timestamp:1/6/06 5:00'    '& Sun %20'    '52.6898 MW'    '$0.00'       '-8.7556 C'
    'Timestamp:1/7/06 6:00'    '& Mon %20'    '55.341 MW'     '$50.70'      '-8.0417 C'
    'Timestamp:1/8/06 7:00'    '& Sat %20'    '57.9512 MW'    '$0.00'       '-8.2028 C'

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

opts.SelectedVariableNames = {'Time','Total_Fees','Temperature'};
opts = setvartype(opts,'Time','datetime');
opts = setvaropts(opts,'Time','InputFormat','MM/dd/uu HH:mm'); % Specify datetime format
opts = setvartype(opts,{'Total_Fees','Temperature'},'double');
getvaropts(opts,{'Time','Total_Fees','Temperature'})
ans = 
    1x3 VariableImportOptions array with properties:

   Variable Options:
                         (1) |          (2) |           (3)  
            Name:     'Time' | 'Total_Fees' | 'Temperature'
            Type: 'datetime' |     'double' |      'double'
       FillValue:      [NaT] |        [NaN] |         [NaN]
  TreatAsMissing:         {} |           {} |            {}
       QuoteRule:   'remove' |     'remove' |      'remove'
        Prefixes:         {} |           {} |            {}
        Suffixes:         {} |           {} |            {}

	To access sub-properties of each variable, use getvaropts

Установите Prefixes, Suffixes, и TrimNonNumeric свойства параметров импорта переменных для удаления 'Timestamp:' из переменной Time, удалить суффикс 'C' из переменной Temperature, и удалить все нечисловые символы из переменной Total_Fees. Просмотрите таблицу с новыми параметрами импорта.

opts = setvaropts(opts,'Time','Prefixes','Timestamp:');
opts = setvaropts(opts,'Temperature','Suffixes','C');
opts = setvaropts(opts,'Total_Fees','TrimNonNumeric',true);
preview(filename,opts)
ans=8×3 table
         Time         Total_Fees    Temperature
    ______________    __________    ___________

    01/01/06 00:00       1.23         -7.2222  
    01/02/06 01:00        300         -7.3056  
    01/03/06 02:00        2.5         -7.8528  
    01/04/06 03:00          0         -8.1778  
    01/05/06 04:00          4         -8.9343  
    01/06/06 05:00          0         -8.7556  
    01/07/06 06:00       50.7         -8.0417  
    01/08/06 07:00          0         -8.2028  

Импорт данных с помощью readtable.

T = readtable(filename,opts);

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

Создайте объект параметров импорта для файла, содержащего пустые поля. Получить первые восемь строк таблицы с помощью preview функция. Значение по умолчанию для EmptyFieldRule является 'missing'. Поэтому функция импорта обрабатывает пустые поля как отсутствующие и заменяет их на FillValue значение для этой переменной. Используя VariableOptions для третьей переменной выполните предварительный просмотр данных. Здесь, preview функция импортирует пустые поля в третьей переменной как NaNs.

filename = 'DataWithEmptyFields.csv';
opts = detectImportOptions(filename);
opts.VariableOptions(3) % Display the Variable Options for the 3rd Variable
ans = 
  NumericVariableImportOptions with properties:

   Variable Properties:
                  Name: 'Double'
                  Type: 'double'
             FillValue: NaN
        TreatAsMissing: {}
             QuoteRule: 'remove'
              Prefixes: {}
              Suffixes: {}
        EmptyFieldRule: 'missing'

   Numeric Options:
     ExponentCharacter: 'eEdD'
      DecimalSeparator: '.'
    ThousandsSeparator: ''
        TrimNonNumeric: 0
          NumberSystem: 'decimal'

preview(filename,opts)
ans=8×7 table
       Text       Categorical    Double     Datetime      Logical      Duration      String  
    __________    ___________    ______    __________    __________    ________    __________

    {'abc'   }    {'a'     }        1      01/14/0018    {'TRUE'  }    00:00:01    {'abc'   }
    {0x0 char}    {'b'     }        2      01/21/0018    {'FALSE' }    09:00:01    {'def'   }
    {'ghi'   }    {0x0 char}        3      01/31/0018    {'TRUE'  }    02:00:01    {'ghi'   }
    {'jkl'   }    {'a'     }      NaN      02/23/2018    {'FALSE' }    03:00:01    {'jkl'   }
    {'mno'   }    {'a'     }        4             NaT    {'FALSE' }    04:00:01    {'mno'   }
    {'pqr'   }    {'b'     }        5      01/23/0018    {0x0 char}    05:00:01    {'pqr'   }
    {'stu'   }    {'b'     }        5      03/23/0018    {'FALSE' }         NaN    {'stu'   }
    {0x0 char}    {'a'     }        6      03/24/2018    {'TRUE'  }    07:00:01    {0x0 char}

Набор EmptyFieldRule для второй переменной в таблице. Сначала выберите переменную, а затем задайте EmptyFieldRule кому 'auto'. Здесь, readtable функция импортирует пустые поля categorical переменная как <undefined>.

opts.SelectedVariableNames = 'Categorical'; 
opts = setvartype(opts,'Categorical','categorical'); 
opts = setvaropts(opts,'Categorical','EmptyFieldRule','auto');
T = readtable(filename,opts)
T=10×1 table
    Categorical
    ___________

    a          
    b          
    <undefined>
    a          
    a          
    b          
    b          
    a          
    a          
    <undefined>

Затем установите EmptyFieldRule для всех переменных в таблице. Сначала соответствующим образом обновите типы данных переменных. Для этого примера задайте тип данных пятой и седьмой переменных равным logical и stringсоответственно. Затем установите EmptyFieldRule для всех переменных 'auto'. Функция импорта импортирует пустые поля на основе типа данных переменной. Здесь, readtable функция импортирует пустые поля logical переменная как 0 и пустые поля categorical переменная как <undefined>.

VariableNames = opts.VariableNames;
opts.SelectedVariableNames =  VariableNames; % select all variables
opts = setvartype(opts,{'Logical','String'},{'logical','string'});
opts = setvaropts(opts,VariableNames,'EmptyFieldRule','auto');
T = readtable(filename,opts)
T=10×7 table
       Text       Categorical    Double     Datetime     Logical    Duration     String  
    __________    ___________    ______    __________    _______    ________    _________

    {'abc'   }    a                 1      01/14/0018     true      00:00:01    "abc"    
    {0x0 char}    b                 2      01/21/0018     false     09:00:01    "def"    
    {'ghi'   }    <undefined>       3      01/31/0018     true      02:00:01    "ghi"    
    {'jkl'   }    a               NaN      02/23/2018     false     03:00:01    "jkl"    
    {'mno'   }    a                 4             NaT     false     04:00:01    "mno"    
    {'pqr'   }    b                 5      01/23/0018     false     05:00:01    "pqr"    
    {'stu'   }    b                 5      03/23/0018     false          NaN    "stu"    
    {0x0 char}    a                 6      03/24/2018     true      07:00:01    ""       
    {0x0 char}    a                 7      03/25/2018     true      08:00:01    <missing>
    {'xyz'   }    <undefined>     NaN             NaT     true      06:00:01    "xyz"    

В дополнение к 'missing' и 'auto', вы также можете установить EmptyFieldRule параметр для 'error'. При установке для него значения 'error', readtable функция импортирует пустые поля, следуя процедуре, указанной в ImportErrorRule параметр.

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

свернуть все

Параметры импорта файлов, указанные как SpreadsheetImportOptions, DelimitedTextImportOptions, или FixedWidthImportOptions объект, созданный detectImportOptions функция. opts содержит свойства, управляющие процессом импорта данных, такие как свойства переменных, свойства расположения данных, правила замены и другие.

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

Имена переменных (или индексы) должны быть подмножеством имен, содержащихся в VariableNames имущества opts объект.

Пример: 'Height'

Пример: {'Height','LastName'}

Пример: [5 9]

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

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

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

Пример: opts = setvaropts(opts,'Weight','FillValue',0) устанавливает FillValue для переменной Weight кому 0.
Общие опции для всех типов переменных

свернуть все

Тип данных переменных, указанный в таблице как тип данных.

Тип данных

Описание

'char'

'string'

Текст.

'single'

'double'

Числа с плавающей запятой с одинарной или двойной точностью.

'int8', 'int16', 'int32', 'int64'

'uint8', 'uint16', 'uint32', 'uint64'

Подписанные или неподписанные целые числа, хранящиеся как 8-, 16-, 32- или 64-разрядные целые числа.

Целочисленные типы данных не определяют значения, соответствующие числам с плавающей запятой NaN, -Inf, и +Inf. Поэтому при импорте данных с плавающей запятой в виде массива целых чисел функция импорта преобразует неопределенные числа с плавающей запятой:

  • NaN преобразуется в 0.

  • -Inf преобразуется в наименьшее целое число для указанного типа целочисленных данных с помощью intmin функция.

  • +Inf преобразуется в наибольшее целое число для указанного типа целочисленных данных с помощью intmax функция.

'logical'

Истинные или ложные значения (например, true, false, 1, или 0).

'datetime'

Даты и время, определяющие моменты времени (например, 2019-12-10 09:12:56 уточнение 10 декабря 2019, 9:12:56).

'duration'

Продолжительность времени (например, 05:13:45 указание 5 часов, 13 минут и 45 секунд).

'categorical'

Числовые или текстовые данные, определяющие категории (например, 'red', 'green', и 'blue' указание имен трех категорий).

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

Тип переменнойОписание
Текст

Замещающий текст, указанный как вектор символов или скаляр строки.

Пример: 'not applicable'

Числовой

Скалярное число для замены отсутствующих экземпляров

Функция импорта преобразует входные данные для FillValue к типу данных, указанному Type свойства переменной. Например, если Type значение свойства - uint8, то функция импорта также преобразует значение FillValue свойство для uint8.

Пример: 0

Логичный

true или false.

Пример: false

Дата и время

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

Пример: 'now' устанавливает для отсутствующих экземпляров datetime текущую дату и время.

Пример: [1998 12 1] устанавливает для отсутствующих экземпляров datetime дату 1 декабря 1998 г.

Продолжительность

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

Пример: '12:30:16' устанавливает для отсутствующих экземпляров длительности продолжительность 12 часов, 30 минут и 16 секунд.

Категоричный

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

Пример: 'Miscellaneous' присваивает имя категории Miscellaneous отсутствующим экземплярам в данных категории.

Чтобы направить импорт данных, которые отсутствуют, не подлежат проверке или вызывают ошибки, используйте эти четыре свойства вместе: FillValue, TreatAsMissing, MissingRule, и ErrorRule. Функция импорта использует значение, указанное в FillValue свойство, когда:

  • Данные не поддаются проверке или соответствуют значению в TreatAsMissing.

  • MissingRule или ErrorRule имеет значение fill.

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

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

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

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

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

Правило квотированияПроцесс
'remove'

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

Пример: "500" импортируется как 500.

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

Пример: ""abc"" импортируется как abc"".

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

Пример: "abc"" импортируется как abc".

'keep'

Сохранить все кавычки.

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

Пример: Если 'QuoteRule' имеет значение 'remove', затем функция импорта импортирует "abc"def" как abcdef".

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

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

  • 'missing' - Используйте процедуру, указанную в MissingRule собственность

  • 'error' - Используйте процедуру, указанную в ImportErrorRule собственность

  • 'auto' - использовать пустое значение на основе типа данных переменной;

    Тип данныхПустое значение
    text

    нулевая длина char или string

    numeric

    NaN для чисел с плавающей запятой

    0 для целых чисел

    duration

    NaN

    datetime

    NaT

    logical

    false

    categorical

    <undefined>

Пример: opts = setvaropts(opts,'RestorationTime','EmptyFieldRule','auto');

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

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

Пример: opts = setvaropts(opts,'Var1','Prefixes','$') устанавливает Prefixes параметр для переменной Var1. Если Var1 содержит значение '$500', то readtable читает его как '500'.

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

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

Пример: opts = setvaropts(opts,'Var1','Suffixes','/-') устанавливает Suffixes параметр для переменной Var1. Если Var1 содержит значение '$500/-' , то readtable читает его как '$500'.

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

Параметры текстовой переменной

свернуть все

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

Правило пробелаПроцесс
'trim'

Удалите все начальные или конечные пробелы из текста. Внутреннее пустое пространство не затрагивается.

Пример: ' World Time ' импортируется как 'World Time'

'trimleading'

Удалите только первые пробелы.

Пример: ' World Time ' импортируется как 'World Time '

'trimtrailing'

Удалите только конечные пробелы.

Пример: ' World Time ' импортируется как ' World Time'

'preserve'

Сохранить пробелы.

Пример: ' World Time ' импортируется как ' World Time '

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

Параметры числовой переменной

свернуть все

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

Пример: Если varOpts.ExponentCharacter = 'a', затем функция импорта импортирует текст "1.2a3" в качестве номера 1200.

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

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

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

Пример: Если пара имя-значение указана как 'DecimalSeparator',',', затем функция импорта импортирует текст "3,14159" в качестве номера 3.14159.

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

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

Пример: Если пара имя-значение указана как 'ThousandsSeparator',',', затем функция импорта импортирует текст "1,234,000" как 1234000.

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

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

Пример: Если пара имя-значение указана как 'TrimNonNumeric',true, затем функция импорта считывает '$500/-' как 500.

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

Система интерпретации числовых переменных, указанная как 'decimal', 'hex', или 'binary'.

Значение 'NumberSystem'

Описание

'decimal'

  • Обрабатывает входные числовые переменные как имеющие десятичные значения.

  • Интерпретирует значения как имеющие тип данных, указанный 'Type' пара имя-значение, или 'double' если 'Type' не указан.

'hex'

  • Обрабатывает входные числовые переменные как имеющие шестнадцатеричные (base-16) значения. Входные значения могут иметь '0x' или '0X' в качестве префиксов, но префиксы не требуются.

  • Интерпретирует значения как имеющие целочисленный тип данных, заданный параметром 'Type' пара имя-значение.

'binary'

  • Обрабатывает входные числовые переменные как имеющие двоичные значения (base-2). Входные значения могут иметь '0b' или '0B' в качестве префиксов, но префиксы не требуются.

  • Интерпретирует значения как имеющие целочисленный тип данных, заданный параметром 'Type' пара имя-значение.

Параметры логической переменной

свернуть все

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

Пример: Если varOpts.TrueSymbols = {'t','TRUE'}, затем функция импорта импортирует любые поля, содержащие t или TRUE как логическое значение true.

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

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

Пример: Если varOpts.FalseSymbols = {'f','FALSE'}, затем функция импорта импортирует любые поля, содержащие f или FALSE как логическое значение false.

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

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

Чтобы интерпретировать входные данные как отсутствующие, true, или false, функция импорта сопоставляет данные со значениями, указанными в TreatAsMissing, TrueSymbols, и FalseSymbols.

Параметры переменной Datetime

свернуть все

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

Значение DatetimeFormatОписание

'default'

Используйте формат отображения по умолчанию.

'defaultdate'

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

'preserveinput'

Используйте формат, заданный форматом ввода, InputFormat.

Пользовательские форматы

Использовать буквы A-Z и a-z для создания пользовательского значения для DatetimeFormat. Эти буквы соответствуют стандарту Unicode ® Locale Data Markup Language (LDML) для дат. Для разделения полей можно использовать символы, отличные от ASCII или от букв, например дефис, пробел или двоеточие. Включение буквA-Z и a-z как буквенные символы в формате, заключите их в одинарные кавычки.

Заводской формат по умолчанию зависит от языка системы. Сведения об изменении формата отображения по умолчанию см. в разделе Формат даты и времени по умолчанию.

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

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

В этой таблице представлены несколько общих форматов ввода и примеры форматированного ввода для даты, суббота, 19 апреля 2014 г., в 9:41:06 в Нью-Йорке.

Значение InputFormatПример
'yyyy-MM-dd'2014-04-19
'dd/MM/yyyy'19/04/2014
'dd.MM.yyyy'19.04.2014
'yyyy年 MM月 dd日'2014年 04月 19日
'MMMM d, yyyy'April 19, 2014
'eeee, MMMM d, yyyy h:mm a'Saturday, April 19, 2014 9:41 PM
'MMMM d, yyyy HH:mm:ss Z'April 19, 2014 21:41:06 -0400
'yyyy-MM-dd''T''HH:mmXXX' 2014-04-19T21:41-04:00

Полный список допустимых идентификаторов букв см. в разделе Format для массивов datetime.

Пример: 'InputFormat','eeee, MMMM d, yyyy HH:mm:ss'

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

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

Установите DatetimeLocale к одному из следующих значений:

  • 'system' - Укажите язык системы.

  • Вектор символов или строковый скаляр - используйте форму xx_YY, где xx - это строчный двухбуквенный код ISO 639-1, определяющий язык, и YY является верхним кодом ISO 3166-1 alpha-2, определяющим страну.

В этой таблице перечислены некоторые общие значения языковых стандартов.

Место действия ЯзыкСтрана
'de_DE'Немецкий языкГермания
'en_GB'Английский языкВеликобритания
'en_US'Английский языкСША
'es_ES'Испанский языкИспания
'fr_FR'Французский языкФранция
'it_IT'Итальянский языкИталия
'ja_JP'Японский языкЯпония
'ko_KR'Корейский языкКорея
'nl_NL'Нидерландский языкНидерланды
'zh_CN'Китайский (упрощенный)Китай

Пример: varOpts.DatetimeLocale = 'de_DE' устанавливает языковой стандарт даты и времени на немецком языке.

Примечание

Locale значение определяет способ интерпретации входных значений. Формат и язык отображения определяются параметром Языковой стандарт (Locale) в разделе Формат даты и времени (Datetime format) окна Настройки (Preferences). Сведения об изменении языкового стандарта datetime по умолчанию см. в разделе Установка настроек окна команд.

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

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

TimeZone используйте любое из следующих значений:

  • '', для создания «незональных» значений datetime, не относящихся к определенному часовому поясу.

  • Область часового пояса из базы данных часовых поясов IANA; например, 'America/Los_Angeles'. Имя региона часового пояса учитывает текущие и исторические правила для стандартных смещений и смещений дневного света от UTC, которые наблюдаются в географическом регионе.

  • Символьный вектор ISO 8601 формы +HH:mm или -HH:mm. Например, '+01:00'указывает часовой пояс, который является фиксированным смещением от UTC.

  • 'UTC', для создания значений datetime в универсальном скоординированном времени.

  • 'UTCLeapSeconds', для создания значений datetime в универсальном скоординированном времени, на которые приходится високосная секунда.

В этой таблице перечислены некоторые общие имена областей часовых поясов из базы данных часовых поясов IANA.

Значение TimeZoneСмещение UTCСмещение UTC DST
'Africa/Johannesburg'+02:00+02:00
'America/Chicago'−06:00−05:00
'America/Denver'−07:00−06:00
'America/Los_Angeles'−08:00−07:00
'America/New_York'−05:00−04:00
'America/Sao_Paulo'−03:00−02:00
'Asia/Hong_Kong'+08:00+08:00
'Asia/Kolkata'+05:30+05:30
'Asia/Tokyo'+09:00+09:00
'Australia/Sydney'+10:00+11:00
'Europe/London'+00:00+01:00
'Europe/Zurich'+01:00+02:00

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

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

Параметры категориальной переменной

свернуть все

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

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

Пример: varOpts.Categories = {'BareLand','Forest','Water','Roads','Buildings'};

Индикатор защиты категории, указанный как логический true или false. Категории порядковых категориальных массивов всегда защищены. Если Ordinal свойство имеет значение true, то значение по умолчанию для Protected является true. В противном случае значение для Protected является false. Дополнительные сведения о категориальных массивах см. в разделе categorical страница ссылки на функцию.

Математический индикатор упорядочения, указанный как false, true, 0, или 1. Дополнительные сведения о категориальных массивах см. в разделе categorical страница ссылки на функцию.

Параметры переменной длительности

свернуть все

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

Определить InputFormat в любом из следующих форматов, где dd, hh, mm, и ss представляют дни, часы, минуты и секунды соответственно:

  • 'dd:hh:mm:ss'

  • 'hh:mm:ss'

  • 'mm:ss'

  • 'hh:mm'

  • Любой из первых трех форматов, до девяти S символы для обозначения дробных вторых цифр, например 'hh:mm:ss.SSSS'

Пример: varOpts.InputFormat = 'dd:hh:mm:ss'

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

Отображение формата данных длительности, заданного как вектор символа или скаляр строки.

Для чисел с единицами времени укажите одно из следующих значений:

  • 'y' - срочные годы, где 1 год составляет 365,2425 дней;

  • 'd' - дни фиксированной длины, где 1 день равен 24 часам;

  • 'h' - Часы

  • 'm' - Минуты

  • 's' - Секунды

Для цифрового таймера укажите один из следующих форматов:

  • 'dd:hh:mm:ss'

  • 'hh:mm:ss'

  • 'mm:ss'

  • 'hh:mm'

  • Любой из первых трех форматов, до девяти S символы для обозначения дробных вторых цифр, например 'hh:mm:ss.SSSS'

Пример: DurationFormat может быть либо одним числом с единицами времени (например, 0.5 yrили цифровой таймер (например, 10:30:15 в течение 10 часов, 30 минут и 15 секунд).

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

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

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

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

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

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