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