테이블에 대한 가져오기 옵션 정의하기
일반적으로 readtable
함수를 사용하여 테이블을 가져올 수 있습니다. 그러나 경우에 따라, 테이블 형식 데이터를 가져오려면 가져오기 프로세스를 추가로 제어해야 합니다. 예를 들어, 가져올 변수를 선택하거나, 누락된 데이터나 오류를 일으키는 데이터가 포함된 행을 처리하려 할 수 있습니다. 가져오기 프로세스를 제어하기 위해 import options 객체를 생성할 수 있습니다. 이 객체에는 가져오기 요구 사항에 따라 조정할 수 있는 속성이 있습니다.
가져오기 옵션 생성하기
샘플 데이터 세트 airlinesmall.csv
에 대한 import options 객체를 생성하려면 detectImportOptions
함수를 사용하십시오. detectImportOptions
함수는 이 텍스트 파일에 대한 DelimitedTextImportOptions
객체를 생성합니다. import options 객체의 전체 속성 목록을 보려면 detectImportOptions
함수 도움말 페이지를 참조하십시오.
opts = detectImportOptions('airlinesmall.csv');
테이블 수준의 가져오기 옵션 사용자 지정하기
import options 객체는 가져오기 프로세스를 제어하기 위해 조정할 수 있는 속성이 있습니다. 그중에는 전체 테이블에 적용되는 속성도 있고 특정 변수에 적용되는 속성도 있습니다. 전체 테이블에 영향을 주는 속성은 오류를 일으키는 데이터나 누락된 데이터를 관리하기 위한 규칙을 포함합니다. 예를 들어, ImportErrorRule
을 'omitrow'
로 설정하여 가져오기 오류를 일으키는 데이터가 포함된 행을 제거해 보겠습니다. MissingRule
을 'fill'
로 설정하여 누락된 값을 대체합니다. FillValue
속성값에 따라 어떤 값이 누락된 값을 대체하는지 결정됩니다. 예를 들어, 누락된 값을 NaN
으로 바꿀 수 있습니다.
opts.ImportErrorRule = 'omitrow'; opts.MissingRule = 'fill';
변수 수준의 가져오기 옵션 사용자 지정하기
특정 변수에 대한 옵션을 가져오거나 설정하려면 getvaropts
, setvartype
및 setvaropts
함수를 사용하십시오. 예를 들어, getvaropts
함수를 사용하여 변수 FlightNum
, Origin
, Dest
, ArrDelay
에 대한 현재 옵션을 표시해 보겠습니다.
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
변수에 대해,TreatAsMissing
속성을 설정하여0
또는NA
가 포함된 필드를FillValue
속성에 지정된 값으로 바꿉니다.
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
참고 항목
detectImportOptions
| getvaropts
| setvaropts
| setvartype
| readtable
| SpreadsheetImportOptions
| DelimitedTextImportOptions
| readmatrix
| readcell
| readvars