Настройка опций для импорта данных из базы данных в MATLAB с помощью собственного интерфейса MySQL

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

В примере используется patients.xls электронная таблица, которая содержит информацию о пациенте. Кроме того, в примере используется база данных MySQL версии 5.7.22 с драйвером MySQL Connector/C + + версии 8.0.15.

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

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

datasource = "MySQLDataSource";
username = "root";
password = "matlab";
conn = mysql(datasource,username,password);

Загрузка примерных данных

Загрузите информацию о пациенте в рабочую область 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'                }    {'string' }
    {'Gender'                  }    {'string' }
    {'Age'                     }    {'double' }
    {'Location'                }    {'string' }
    {'Height'                  }    {'double' }
    {'Weight'                  }    {'double' }
    {'Smoker'                  }    {'logical'}
    {'Systolic'                }    {'double' }
    {'Diastolic'               }    {'double' }
    {'SelfAssessedHealthStatus'}    {'string' }

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

Измените типы данных нескольких переменных. Преобразуйте тип данных для всех текстовых переменных в 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");

Установите настройки импорта, чтобы опустить строки с отсутствующими данными в 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 = strcat("DROP TABLE ",tablename);
execute(conn,sqlquery)

Закройте подключение к базе данных.

close(conn)

См. также

| | | | | | |

Похожие темы

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