Обычно можно импортировать таблицы с помощью readtable
функция. Однако иногда импорт табличных данных требует дополнительного контроля над процессом импорта. Например, можно хотеть выбрать переменные для импорта или обработки строк с отсутствующими или вызывающими ошибку данными. Чтобы контролировать процесс импорта, можно создать объект настроек импорта. Объект имеет свойства, которые можно настроить в зависимости от ваших потребностей импорта.
Чтобы создать объект настроек импорта для набора выборочных данных, airlinesmall.csv
, используйте detectImportOptions
функция. The detectImportOptions
функция создает DelimitedTextImportOptions
объект для этого текстового файла. Полный список свойств объекта настроек импорта см. в detectImportOptions
страница с описанием.
opts = detectImportOptions('airlinesmall.csv');
Объект настроек импорта имеет свойства, которые можно настроить, чтобы контролировать процесс импорта. Некоторые свойства применяются ко всей таблице, другие - к определенным переменным. Свойства, которые влияют на всю таблицу, включают правила для управления вызывающими ошибки или отсутствующими данными. Например, удалите строки с данными, которые вызывают ошибки импорта, установив ImportErrorRule
на 'omitrow'
. Замените отсутствующие значения установкой MissingRule
на 'fill'
. The 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