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   

The 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

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

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 функция. The 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 входы, см. datetime страница функции.

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

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

Длительность

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

Пример: '12:30:16' устанавливает отсутствующую длительность образцов равную длительности 12 часов, 30 минут и 16 секунд.

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

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

Пример: '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'

  • Рассматривает входные числовые переменные как имеющие шестнадцатеричные (база-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

свернуть все

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

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

'default'

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

'defaultdate'

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

'preserveinput'

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

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

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

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

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

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

В этой таблице показаны несколько общие входы и примеры форматированного входа для даты, субботы, 19 апреля 2014 г., в 21: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

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

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

  • 'system' - Укажите локаль системы.

  • Вектор символов или строковый скаляр - Используйте форму xx_ YY, где xx является строчным двухбуквенным кодом ISO 639-1, который задает язык и YY является заглавным кодом ISO 3166-1 альфа-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' устанавливает локаль даты на немецком языке.

Примечание

The Locale значение определяет, как интерпретируются входные значения. Форматы отображения и язык задаются Локалью опции в разделе Datetime format окна Настроек. Для изменения локали datetime по умолчанию смотрите Задать настройки Командного окна.

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

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

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

  • '', для создания «unzoned» значений 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