exponenta event banner

Настройка параметров импорта данных из базы данных в 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)

См. также

| | | | | | |

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

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