Как правило, вы можете таблицы импорта с помощью readtable
функция. Однако иногда импортирование табличных данных требует дополнительного управления процессом импорта. Например, вы можете хотеть выбрать переменные, чтобы импортировать или обработать строки с отсутствующими или ошибочными данными. Чтобы управлять процессом импорта, можно создать объект настроек импорта. Объект имеет свойства, которые можно настроить на основе потребностей импорта.
Чтобы создать, настройки импорта возражают для набора выборочных данных, airlinesmall.csv
, используйте detectImportOptions
функция. detectImportOptions
функция создает DelimitedTextImportOptions
объект для этого текстового файла. Для полного списка свойств объекта настроек импорта смотрите detectImportOptions
страница с описанием.
opts = detectImportOptions('airlinesmall.csv');
Объект настроек импорта имеет свойства, которые можно настроить, чтобы управлять процессом импорта. Некоторые свойства применяются к целой таблице, в то время как другие обращаются к определенным переменным. Свойства, которые влияют на целую таблицу, включают правила справиться с порождением ошибки или недостающими данными. Например, удалите строки с данными, которые вызывают ошибки импорта путем установки ImportErrorRule
к 'omitrow'
. Замените отсутствующие значения путем установки MissingRule
к 'fill'
. FillValue
значение свойства определяет, какое значение заменяет отсутствующие значения. Например, можно заменить отсутствующие значения на NaN
.
opts.ImportErrorRule = 'omitrow'; opts.MissingRule = 'fill';
Чтобы добраться и установить опции для определенных переменных используют getvaropts
setvartype
, и setvaropts
функции. Например, просмотрите текущие опции для переменных под названием FlightNum
, Origin
, Dest
, и ArrDelay
, использование getvaropts
функция.
getvaropts(opts,{'FlightNum','Origin','Dest','ArrDelay'});
Измените типы данных для переменных с помощью setvartype
функция:
Начиная со значений в переменной FlightNum
идентификаторы для рейса и не численных значений, изменяют его тип данных в char
.
Начиная с переменных Origin
и Dest
определяйте конечное множество повторяющихся текстовых значений, измените их тип данных в categorical
.
opts = setvartype(opts,{'FlightNum','Origin','Dest','ArrDelay'},... {'char','categorical','categorical','single'});
Измените другие свойства с помощью setvaropts
функция:
Для FlightNum
переменная, удалите любые ведущие пробелы из текста путем установки WhiteSpaceRule
свойство к trimleading
.
Для ArrDelay
переменная, поля замены, содержащие 0
или NA
со значением, заданным в FillValue
свойство путем установки TreatAsMissing
свойство.
opts = setvaropts(opts,'FlightNum','WhitespaceRule','trimleading'); opts = setvaropts(opts,'ArrDelay','TreatAsMissing',{'0','NA'});
Задайте переменные, чтобы получить, импортировать их использующий readtable
, и отобразите первый 8
строки таблицы.
opts.SelectedVariableNames = {'FlightNum','Origin','Dest','ArrDelay'}; T = readtable('airlinesmall.csv',opts); T(1:8,:)
ans=8×4 table
FlightNum Origin Dest ArrDelay
_________ ______ ____ ________
{'1503'} LAX SJC 8
{'1550'} SJC BUR 8
{'1589'} SAN SMF 21
{'1655'} BUR SJC 13
{'1702'} SMF LAX 4
{'1729'} LAX SJC 59
{'1763'} SAN SFO 3
{'1800'} SEA LAX 11
DelimitedTextImportOptions
| detectImportOptions
| getvaropts
| readcell
| readmatrix
| readtable
| readvars
| setvaropts
| setvartype
| SpreadsheetImportOptions