Main Content

테이블에 대한 가져오기 옵션 정의하기

일반적으로 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, setvartypesetvaropts 함수를 사용하십시오. 예를 들어, getvaropts 함수를 사용하여 변수 FlightNum, Origin, Dest, ArrDelay에 대한 현재 옵션을 표시해 보겠습니다.

getvaropts(opts,{'FlightNum','Origin','Dest','ArrDelay'});

setvartype 함수를 사용하여 이들 변수의 데이터형을 다음과 같이 변경합니다.

  • 변수 FlightNum의 값은 항공편 식별자이고 숫자형 값이 아니므로, 이 변수의 데이터형을 char로 변경합니다.

  • 변수 OriginDest는 반복되는 텍스트 값의 유한 집합을 지정하므로, 이들 변수의 데이터형을 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   

참고 항목

| | | | | | | | |

관련 항목