exponenta event banner

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

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

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

Создать подключение к базе данных

Создайте подключение базы данных к базе данных 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)

См. также

| | | | | | | |

Связанные темы

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