setoptions

Настройте настройки импорта для данных о базе данных

Описание

пример

opts = setoptions(opts,varnames,Option1,OptionValue1,...,OptionN,OptionValueN) настраивает настройки импорта для того, чтобы импортировать данные от базы данных в MATLAB®. Функция возвращает SQLImportOptions объект. Чтобы импортировать данные, вы используете SQLImportOptions объект, заданные имена переменных и настройки импорта с их соответствующими значениями.

пример

opts = setoptions(opts,index,Option1,OptionValue1,...,OptionN,OptionValueN) настраивает настройки импорта для переменных, заданных числовым индексом.

Примеры

свернуть все

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

Этот пример использует patients.xls электронная таблица, которая содержит столбец Weight. Кроме того, пример использует базу данных Microsoft® SQL Server® Version 11.00.2100 и Драйвер Microsoft SQL Server 11.00.5058.

Создайте соединение с базой данных к базе данных Microsoft SQL Server с аутентификацией Windows®. Задайте пустое имя пользователя и пароль.

datasource = 'MS SQL Server Auth';
conn = database(datasource,'','');

Загрузите терпеливую информацию в рабочую область MATLAB®.

patients = readtable('patients.xls');

Создайте patients таблица базы данных с помощью терпеливой информации.

tablename = 'patients';
sqlwrite(conn,tablename,patients)

Создайте SQLImportOptions объект с помощью patients таблица базы данных и databaseImportOptions функция.

opts = databaseImportOptions(conn,tablename);

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

varnames = 'Weight';
opts = setoptions(opts,varnames,'Type','int64');

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

opts.SelectedVariableNames = {'Weight'};
data = sqlread(conn,tablename,opts);
summary(data)
Variables:

    Weight: 100×1 int64

        Values:

            Min         111   
            Median      143   
            Max         202   

Удалите patients таблица базы данных с помощью execute функция.

sqlquery = ['DROP TABLE ' tablename];
execute(conn,sqlquery)

Закройте соединение с базой данных.

close(conn)

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

Этот пример использует patients.xls электронная таблица, которая содержит первый столбец LastName. Кроме того, пример использует базу данных Microsoft® SQL Server® Version 11.00.2100 и Драйвер Microsoft SQL Server 11.00.5058.

Создайте соединение с базой данных к базе данных Microsoft SQL Server с аутентификацией Windows®. Задайте пустое имя пользователя и пароль.

datasource = "MS SQL Server Auth";
conn = database(datasource,"","");

Загрузите терпеливую информацию в рабочую область MATLAB®.

patients = readtable("patients.xls");

Создайте patients таблица базы данных с помощью терпеливой информации.

tablename = "patients";
sqlwrite(conn,tablename,patients)

Создайте SQLImportOptions объект с помощью patients таблица базы данных и databaseImportOptions функция.

opts = databaseImportOptions(conn,tablename);

Получите настройки импорта по умолчанию для LastName и SelfAssessedHealthStatus переменные.

varnames = ["LastName" "SelfAssessedHealthStatus"];
varOpts = getoptions(opts,varnames)
varOpts = 
    1x2 SQLVariableImportOptions array with properties:

   Variable Options:
                      (1) |                        (2)  
         Name: 'LastName' | 'SelfAssessedHealthStatus'
         Type:     'char' |                     'char'
  MissingRule:     'fill' |                     'fill'
    FillValue:         '' |                         ''

	To access sub-properties of each variable, use getoptions

Установите настройки импорта для типа данных LastName переменная к string. Задайте LastName переменная при помощи числового индекса, который находит переменную в SelectedVariables свойство SQLImportOptions объект. Кроме того, установите настройки импорта заменять недостающие данные в LastName переменная с NoName 'FillValue' .

index = 1;
opts = setoptions(opts,index,'Type',"string", ...
    'FillValue',"NoName");

Установите настройки импорта для текстового случая SelfAssessedHealthStatus переменная к верхнему регистру.

varname = "SelfAssessedHealthStatus";
opts = setoptions(opts,varname,'TextCaseRule',"upper");

Импортируйте текстовые данные в выбранных переменных и отобразите первые восемь строк. Импортированные данные показывают что LastName переменная имеет string тип данных и SelfAssessedHealthStatus переменный текст является прописным.

opts.SelectedVariableNames = ["LastName" "SelfAssessedHealthStatus"];
T = sqlread(conn,tablename,opts);
head(T)
ans=8×2 table
     LastName     SelfAssessedHealthStatus
    __________    ________________________

    "Smith"             'EXCELLENT'       
    "Johnson"           'FAIR'            
    "Williams"          'GOOD'            
    "Jones"             'FAIR'            
    "Brown"             'GOOD'            
    "Davis"             'GOOD'            
    "Miller"            'GOOD'            
    "Wilson"            'GOOD'            

Удалите patients таблица базы данных с помощью execute функция.

sqlstr = "DROP TABLE ";
sqlquery = strcat(sqlstr,tablename);
execute(conn,sqlquery)

Закройте соединение с базой данных.

close(conn)

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

Этот пример использует outages.csv файл, который содержит столбцы OutageTime и RestorationTime. Кроме того, пример использует базу данных Microsoft® SQL Server® Version 11.00.2100 и Драйвер Microsoft SQL Server 11.00.5058.

Создайте соединение с базой данных к базе данных Microsoft SQL Server с аутентификацией Windows®. Задайте пустое имя пользователя и пароль.

datasource = 'MS SQL Server Auth';
conn = database(datasource,'','');

Загрузите информацию об отключении электричества в рабочую область MATLAB®.

outages = readtable('outages.csv');

Создайте outages таблица базы данных с помощью информации об отключении электричества.

tablename = 'outages';
sqlwrite(conn,tablename,outages)

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

data = sqlread(conn,tablename);
head(data)
ans=8×6 table
      Region              OutageTime             Loss     Customers          RestorationTime               Cause      
    ___________    _________________________    ______    __________    _________________________    _________________

    'SouthWest'    '2002-02-01 12:18:00.000'    458.98    1.8202e+06    '2002-02-07 16:50:00.000'    'winter storm'   
    'SouthEast'    '2003-01-23 00:49:00.000'    530.14    2.1204e+05    ''                           'winter storm'   
    'SouthEast'    '2003-02-07 21:15:00.000'     289.4    1.4294e+05    '2003-02-17 08:14:00.000'    'winter storm'   
    'West'         '2004-04-06 05:44:00.000'    434.81    3.4037e+05    '2004-04-06 06:10:00.000'    'equipment fault'
    'MidWest'      '2002-03-16 06:18:00.000'    186.44    2.1275e+05    '2002-03-18 23:23:00.000'    'severe storm'   
    'West'         '2003-06-18 02:49:00.000'         0             0    '2003-06-18 10:54:00.000'    'attack'         
    'West'         '2004-06-20 14:39:00.000'    231.29           NaN    '2004-06-20 19:16:00.000'    'equipment fault'
    'West'         '2002-06-06 19:28:00.000'    311.86           NaN    '2002-06-07 00:51:00.000'    'equipment fault'

Создайте SQLImportOptions объект с помощью outages таблица базы данных и databaseImportOptions функция.

opts = databaseImportOptions(conn,tablename);

Получите настройки импорта по умолчанию для OutageTime и RestorationTime переменные.

varnames = {'OutageTime','RestorationTime'};
varOpts = getoptions(opts,varnames)
varOpts = 
    1x2 SQLVariableImportOptions array with properties:

   Variable Options:
                      (1) |               (2)  
       Name: 'OutageTime' | 'RestorationTime'
       Type:       'char' |            'char'
  FillValue:           '' |                ''

	To access sub-properties of each variable, use getoptions

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

opts = setoptions(opts,varnames,'Type','datetime', ...
    'FillValue',datetime('now'));

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

opts.SelectedVariableNames = varnames;
T = sqlread(conn,tablename,opts);
head(T)
ans=8×2 table
         OutageTime           RestorationTime   
    ____________________    ____________________

    01-Feb-2002 12:18:00    07-Feb-2002 16:50:00
    23-Jan-2003 00:49:00    19-Jun-2018 15:30:14
    07-Feb-2003 21:15:00    17-Feb-2003 08:14:00
    06-Apr-2004 05:44:00    06-Apr-2004 06:10:00
    16-Mar-2002 06:18:00    18-Mar-2002 23:23:00
    18-Jun-2003 02:49:00    18-Jun-2003 10:54:00
    20-Jun-2004 14:39:00    20-Jun-2004 19:16:00
    06-Jun-2002 19:28:00    07-Jun-2002 00:51:00

Удалите outages таблица базы данных с помощью execute функция.

sqlquery = ['DROP TABLE ' tablename];
execute(conn,sqlquery)

Закройте соединение с базой данных.

close(conn)

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

Этот пример использует outages.csv файл, который содержит столбцы Region и Cause. Кроме того, пример использует базу данных Microsoft® SQL Server® Version 11.00.2100 и Драйвер Microsoft SQL Server 11.00.5058.

Создайте соединение с базой данных к базе данных Microsoft SQL Server с аутентификацией Windows®. Задайте пустое имя пользователя и пароль.

datasource = 'MS SQL Server Auth';
conn = database(datasource,'','');

Загрузите информацию об отключении электричества в рабочую область MATLAB®.

outages = readtable('outages.csv');

Создайте outages таблица базы данных с помощью информации об отключении электричества.

tablename = 'outages';
sqlwrite(conn,tablename,outages)

Создайте SQLImportOptions объект с помощью outages таблица базы данных и databaseImportOptions функция.

opts = databaseImportOptions(conn,tablename);

Получите настройки импорта по умолчанию для Region и Cause переменные.

varnames = {'Region','Cause'};
varOpts = getoptions(opts,varnames)
varOpts = 
    1x2 SQLVariableImportOptions array with properties:

   Variable Options:
                  (1) |     (2)  
       Name: 'Region' | 'Cause'
       Type:   'char' |  'char'
  FillValue:       '' |      ''

	To access sub-properties of each variable, use getoptions

Установите настройки импорта для типа данных заданных переменных к categorical. Кроме того, установите настройки импорта заменять недостающие данные в заданных переменных со значением заливки unknown.

opts = setoptions(opts,varnames,'Type','categorical', ...
    'FillValue','unknown');

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

opts.SelectedVariableNames = varnames;
T = sqlread(conn,tablename,opts);
summary(T)
Variables:

    Region: 1468×1 categorical

        Values:

            MidWest        142   
            NorthEast      557   
            SouthEast      389   
            SouthWest       26   
            West           354   
            unknown          0   

    Cause: 1468×1 categorical

        Values:

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

Удалите outages таблица базы данных с помощью execute функция.

sqlquery = ['DROP TABLE ' tablename];
execute(conn,sqlquery)

Закройте соединение с базой данных.

close(conn)

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

Этот пример использует airlinesmall_subset.xls электронная таблица, которая содержит столбец Cancelled. Кроме того, пример использует базу данных Microsoft® SQL Server® Version 11.00.2100 и Драйвер Microsoft SQL Server 11.00.5058.

Создайте соединение с базой данных к базе данных Microsoft SQL Server с аутентификацией Windows®. Задайте пустое имя пользователя и пароль.

datasource = 'MS SQL Server Auth';
conn = database(datasource,'','');

Загрузите информацию о рейсе в рабочей области MATLAB®.

flights = readtable('airlinesmall_subset.xlsx');

Создайте flights таблица базы данных с помощью информации о рейсе.

tablename = 'flights';
sqlwrite(conn,tablename,flights)

Создайте SQLImportOptions объект с помощью flights таблица базы данных и databaseImportOptions функция.

opts = databaseImportOptions(conn,'flights');

Получите настройки импорта по умолчанию для Cancelled переменная.

varnames = 'Cancelled';
varOpts = getoptions(opts,varnames)
varOpts = 
  SQLVariableImportOptions with properties:

  Variable Properties :
               Name: 'Cancelled'
               Type: 'double'
          FillValue: NaN

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

opts = setoptions(opts,varnames,'Type','logical', ...
    'FillValue',true);

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

opts.SelectedVariableNames = varnames;
T = sqlread(conn,tablename,opts);
summary(T)
Variables:

    Cancelled: 1338×1 logical

        Values:

            True          29    
            False       1309    

Удалите flights таблица базы данных с помощью execute функция.

sqlquery = 'DROP TABLE flights';
execute(conn,sqlquery)

Закройте соединение с базой данных.

close(conn)

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

Этот пример использует outages.csv файл, который содержит данные об отключении электричества. Кроме того, пример использует базу данных Microsoft® SQL Server® Version 11.00.2100 и Драйвер Microsoft SQL Server 11.00.5058.

Создайте соединение с базой данных к базе данных Microsoft SQL Server с аутентификацией Windows®. Задайте пустое имя пользователя и пароль.

datasource = "MS SQL Server Auth";
conn = database(datasource,"","");

Загрузите информацию об отключении электричества в рабочую область MATLAB®.

outages = readtable("outages.csv");

Создайте outages таблица базы данных с помощью информации об отключении электричества.

tablename = "outages";
sqlwrite(conn,tablename,outages)

Создайте SQLImportOptions объект с помощью outages таблица базы данных и databaseImportOptions функция.

opts = databaseImportOptions(conn,tablename);

Определите размер outages.

size(outages)
ans = 1×2

        1468           6

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

varnames = "Customers";
opts = setoptions(opts,varnames,'MissingRule',"omitrow");

Импортируйте данные и отобразите первые восемь строк. Импортированные данные не содержат недостающих данных в Customers переменная.

T = sqlread(conn,tablename,opts);
head(T)
ans=8×6 table
      Region              OutageTime             Loss     Customers          RestorationTime               Cause      
    ___________    _________________________    ______    __________    _________________________    _________________

    'SouthWest'    '2002-02-01 12:18:00.000'    458.98    1.8202e+06    '2002-02-07 16:50:00.000'    'winter storm'   
    'SouthEast'    '2003-01-23 00:49:00.000'    530.14    2.1204e+05    ''                           'winter storm'   
    'SouthEast'    '2003-02-07 21:15:00.000'     289.4    1.4294e+05    '2003-02-17 08:14:00.000'    'winter storm'   
    'West'         '2004-04-06 05:44:00.000'    434.81    3.4037e+05    '2004-04-06 06:10:00.000'    'equipment fault'
    'MidWest'      '2002-03-16 06:18:00.000'    186.44    2.1275e+05    '2002-03-18 23:23:00.000'    'severe storm'   
    'West'         '2003-06-18 02:49:00.000'         0             0    '2003-06-18 10:54:00.000'    'attack'         
    'NorthEast'    '2003-07-16 16:23:00.000'    239.93         49434    '2003-07-17 01:12:00.000'    'fire'           
    'MidWest'      '2004-09-27 11:09:00.000'    286.72         66104    '2004-09-27 16:37:00.000'    'equipment fault'

Определите размер T. Количество строк в импортированных данных меньше, потому что программное обеспечение удаляет все строки с недостающими данными в Customers переменная.

size(T)
ans = 1×2

        1140           6

Удалите outages таблица базы данных с помощью execute функция.

sqlstr = "DROP TABLE ";
sqlquery = strcat(sqlstr,tablename);
execute(conn,sqlquery)

Закройте соединение с базой данных.

close(conn)

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

свернуть все

Настройки импорта базы данных в виде SQLImportOptions объект.

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

Пример: 'productname'

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

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

Пример: [1,2,3]

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

Настройки импорта в виде одного или нескольких аргументов пары "имя-значение". Option вектор символов или строковый скаляр, который задает имя настройки импорта. OptionValue задает значение настройки импорта.

Пример: 'FillValue',true,'Type','logical' устанавливает тип данных заданной переменной как logical и устанавливает значение заливки для недостающих данных в заданной переменной как true.

Пример: 'Name',"Location" изменяет название заданной переменной к Location.

Все переменные

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

Имя настройки импортаОписаниеЗначения настройки импорта
'FillValue'Пропавшие без вести значения данных

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

Допустимые типы данных:

  • Все целочисленные классы

  • single

  • double

  • logical

  • char

  • string

  • datetime

  • missing

Тип данных зависит от типа переменной в базе данных.

'MissingRule'Недостающее правило данных

Значение должно быть одним из следующего:

  • 'fill' (значение по умолчанию) — Замена недостающие данные с недостающим значением данных, заданным 'FillValue' настройка импорта.

  • 'omitrow' — Не используйте строки, которые содержат недостающие данные.

Можно задать эти значения как вектор символов или строковый скаляр.

Установка 'MissingRule' настройка импорта является эквивалентом использования IS NOT NULL SQL-оператор в ANSI SQL.

'Name'Имя переменной

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

'Type'Тип данных

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

Следующая таблица описывает допустимые значения настройки импорта для 'Type' настройка импорта. Первый столбец показывает типы данных в VariableTypes свойство SQLImportOptions объект. Второй столбец показывает допустимые типы данных, чтобы задать в векторе символов. Чтобы использовать допустимое значение типа данных, заключите его в кавычки (например, 'single').

Типы данных переменныхДопустимые значения типа данных для 'Type' Настройка импорта
  • Любой целочисленный класс

  • single

  • double

  • Любой целочисленный класс

  • single

  • double

  • logical

  • categorical

Неопределенные числа с плавающей запятой NaNInf, и +Inf допустимы только для single и double типы данных. Когда вы изменяете тип данных числа с плавающей запятой к целому числу, функция, которая импортирует данные от базы данных, преобразует неопределенное число с плавающей запятой. Например, когда вы изменяете тип данных в 'int8':

  • NaN значения превращаются в 0.

  • –Inf значения превращаются в intmin('int8').

  • +Inf значения превращаются в intmax('int8').

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

То же преобразование применяется ко всем целочисленным классам.

logical
  • Все целочисленные классы

  • single

  • double

  • logical

  • categorical

char или string
  • char

  • string

  • datetime

  • categorical

Можно изменить VariableTypes свойство к datetime только если столбец в таблице базы данных имеет DATETIME тип данных.

datetime
  • char

  • string

  • datetime

categorical
  • Все целочисленные классы

  • single

  • double

  • char

  • string

  • logical

  • categorical

Переменные с типом данных text

Можно установить настройки импорта изменять значение переменных с типом данных text. Эти настройки импорта применяются к переменным, которые являются или векторами символов или строковыми массивами, заданными любым varnames или index входной параметр. Можно задать значения настройки импорта как вектор символов или строковый скаляр.

Имя настройки импортаОписаниеЗначения настройки импорта
'WhiteSpaceRule'Начальные и конечные пробелы
  • 'preserve' (значение по умолчанию) — Пробелы заповедника.

  • 'trim' — Удалите любые начальные и конечные пробелы из текста. Это значение настройки импорта игнорирует пробелы посреди текста.

  • 'trimleading' — Удалите только ведущие пробелы.

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

'TextCaseRule'Текстовый случай
  • 'preserve' (значение по умолчанию) — Заповедник текстовый случай.

  • 'lower' — Преобразуйте текст в нижний регистр.

  • 'upper' — Преобразуйте текст в верхний регистр.

Переменные с datetime Тип данных

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

Имя настройки импортаОписаниеЗначения настройки импортаЗначение настройки импорта по умолчанию
'DatetimeFormat'Формат отображения дат и времен

Для допустимых значений см. описание Format свойство в datetime функция.

'default'
'DatetimeLocale'Локаль, чтобы использовать в интерпретации дат

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

'en-US'
'TimeZone'TimeZone

Для допустимых значений см. описание TimeZone свойство в datetime функция.

''
'InputFormat'Формат входного текста, представляющего даты и временаДля допустимых значений см. описание infmt входной параметр в datetime функция.'yyyy-MM-dd HH:mm:ss.SSSSSSSSS'

Переменная с categorical Тип данных

Можно установить настройки импорта изменять значение переменных с categorical тип данных. Эти настройки импорта применяются к переменным с categorical тип данных, заданный любым varnames или index входной параметр.

Имя настройки импортаОписаниеЗначения настройки импортаЗначение настройки импорта по умолчанию
'Categories'Ожидаемые категории

Для допустимых значений см. описание catnames входной параметр в categorical функция.

{}
'Protected'Индикатор защиты категории

Для допустимых значений см. описание 'Protected' аргумент пары "имя-значение" в categorical функция.

false
'Ordinal'Математический индикатор упорядоченного расположения

Для допустимых значений см. описание 'Ordinal' аргумент пары "имя-значение" в categorical функция.

false

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

Введенный в R2018b