В этом примере показано, как настроить настройки импорта при импорте данных из таблицы базы данных. Управляйте настройками импорта путем создания 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)
close
| database
| databaseImportOptions
| execute
| getoptions
| preview
| setoptions
| sqlread
| sqlwrite