Настройте опции для того, чтобы импортировать данные от базы данных в MATLAB

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

Пример использует электронную таблицу patients.xls, которая содержит терпеливую информацию. Кроме того, пример использует базу данных 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

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

opts = databaseImportOptions(conn,tablename);

Отобразите типы данных по умолчанию переменных путем доступа к свойствам VariableNames и VariableTypes объекта SQLImportOptions с помощью записи через точку.

disp([opts.VariableNames' opts.VariableTypes'])
    'LastName'                    'char'  
    'Gender'                      'char'  
    'Age'                         'double'
    'Location'                    'char'  
    'Height'                      'double'
    'Weight'                      'double'
    'Smoker'                      'double'
    'Systolic'                    'double'
    'Diastolic'                   'double'
    'SelfAssessedHealthStatus'    'char'  

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

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

textvars = {'LastName','Gender','Location','SelfAssessedHealthStatus'};
opts = setoptions(opts,textvars,'Type','string');

numvars = {'Age','Height','Weight','Systolic','Smoker','Diastolic'};
opts = setoptions(opts,numvars,'Type','single');

Отобразите обновленные типы данных переменных.

disp([opts.VariableNames' opts.VariableTypes'])
    'LastName'                    'string'
    'Gender'                      'string'
    'Age'                         'single'
    'Location'                    'string'
    'Height'                      'single'
    'Weight'                      'single'
    'Smoker'                      'single'
    'Systolic'                    'single'
    'Diastolic'                   'single'
    'SelfAssessedHealthStatus'    'string'

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

varnames = {'LastName','Location'};
opts = setoptions(opts,varnames,'FillValue',"unknown");

Установите настройки импорта изменять текст переменной SelfAssessedHealthStatus к нижнему регистру.

varname = {'SelfAssessedHealthStatus'};
opts = setoptions(opts,varname,'TextCaseRule',"lower");

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

varname = {'LastName'};
opts = setoptions(opts,varname,'MissingRule',"omitrow");

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

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

T = preview(opts)
T=8×10 table
     LastName      Gender     Age             Location              Height    Weight    Smoker    Systolic    Diastolic    SelfAssessedHealthStatus
    __________    ________    ___    ___________________________    ______    ______    ______    ________    _________    ________________________

    "Smith"       "Male"      38     "County General Hospital"        71       176        1         124          93              "excellent"       
    "Johnson"     "Male"      43     "VA Hospital"                    69       163        0         109          77              "fair"            
    "Williams"    "Female"    38     "St. Mary's Medical Center"      64       131        0         125          83              "good"            
    "Jones"       "Female"    40     "VA Hospital"                    67       133        0         117          75              "fair"            
    "Brown"       "Female"    49     "County General Hospital"        64       119        0         122          80              "good"            
    "Davis"       "Female"    46     "St. Mary's Medical Center"      68       142        0         121          70              "good"            
    "Miller"      "Female"    33     "VA Hospital"                    64       142        1         130          88              "good"            
    "Wilson"      "Male"      40     "VA Hospital"                    68       180        0         115          82              "good"            

Импортируйте данные Используя настройки импорта

Импортируйте переменные с индивидуально настраиваемыми типами данных при помощи функции sqlread и отобразите первые восемь строк импортированных данных.

T = sqlread(conn,tablename,opts);
head(T)
ans=8×10 table
     LastName      Gender     Age             Location              Height    Weight    Smoker    Systolic    Diastolic    SelfAssessedHealthStatus
    __________    ________    ___    ___________________________    ______    ______    ______    ________    _________    ________________________

    "Smith"       "Male"      38     "County General Hospital"        71       176        1         124          93              "excellent"       
    "Johnson"     "Male"      43     "VA Hospital"                    69       163        0         109          77              "fair"            
    "Williams"    "Female"    38     "St. Mary's Medical Center"      64       131        0         125          83              "good"            
    "Jones"       "Female"    40     "VA Hospital"                    67       133        0         117          75              "fair"            
    "Brown"       "Female"    49     "County General Hospital"        64       119        0         122          80              "good"            
    "Davis"       "Female"    46     "St. Mary's Medical Center"      68       142        0         121          70              "good"            
    "Miller"      "Female"    33     "VA Hospital"                    64       142        1         130          88              "good"            
    "Wilson"      "Male"      40     "VA Hospital"                    68       180        0         115          82              "good"            

Удалите данные в качестве примера и закройте соединение с базой данных

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

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

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

close(conn)

Смотрите также

| | | | | | | |

Похожие темы

Внешние веб-сайты

Для просмотра документации необходимо авторизоваться на сайте