Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

spreadsheetImportOptions

스프레드시트에 대한 import options 객체

설명

SpreadsheetImportOptions 객체를 사용하면 MATLAB®이 스프레드시트 파일에서 테이블 형식 데이터를 가져오는 방법을 지정할 수 있습니다. 이 객체는 누락된 데이터나 오류를 처리하는 속성과 데이터 가져오기 프로세스를 제어하는 속성을 가집니다.

생성

SpreadsheetImportOptions 객체는 detectImportOptions 함수 또는 여기에서 설명하는 spreadsheetImportOptions 함수를 사용하여 만들 수 있습니다.

  • detectImportOptions를 사용하면 filename에 지정된 스프레드시트의 내용을 기반으로 가져오기 속성을 감지하고 채울 수 있습니다.

    opts = detectImportOptions(filename);

  • spreadsheetImportOptions를 사용하면 가져오기 요구 사항을 기반으로 가져오기 속성을 정의할 수 있습니다.

설명

예제

opts = spreadsheetImportOptions는 1개의 변수를 갖는 SpreadsheetImportOptions 객체를 만듭니다.

예제

opts = spreadsheetImportOptions('NumVariables',numVars)numVars에 지정된 개수만큼의 변수를 갖는 객체를 만듭니다.

예제

opts = spreadsheetImportOptions(___,Name,Value)는 하나 이상의 이름-값 쌍 인수를 사용하여 SpreadsheetImportOptions 객체의 속성을 추가로 지정합니다.

입력 인수

모두 확장

변수 개수로, 양의 정수 스칼라로 지정됩니다.

속성

모두 확장

변수 속성

변수 이름으로, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정됩니다. VariableNames 속성은 변수를 가져올 때 사용할 이름을 포함합니다.

데이터에 N개 변수가 포함되어 있지만 변수 이름이 지정되지 않은 경우 VariableNames 속성은 {'Var1','Var2',...,'VarN'}을 포함합니다.

공백과 비ASCII 문자가 포함된 변수 이름과 같이 유효하지 않은 MATLAB 식별자를 변수 이름으로 사용할 수 있도록 하려면 VariableNamingRule의 값을 'preserve'로 설정하십시오.

예: opts.VariableNames는 현재(감지된) 변수 이름을 반환합니다.

예: opts.VariableNames(3) = {'Height'}는 세 번째 변수의 이름을 Height로 변경합니다.

데이터형: char | string | cell

변수 이름을 유지할지 지정하는 플래그로, "modify" 또는 "preserve" 중 하나로 지정됩니다.

  • "modify" — 유효하지 않은 변수 이름(유효 여부는 isvarname 함수의 판정에 따름)을 유효한 MATLAB 식별자로 변환합니다.

  • "preserve" — 공백과 비ASCII 문자가 포함된 변수 이름과 같이 MATLAB 식별자로 유효하지 않은 변수 이름을 그대로 유지합니다.

R2019b부터 변수 이름과 행 이름에 공백, 비ASCII 문자 등 모든 문자를 사용할 수 있습니다. 또한 영문자뿐만 아니라 어떤 문자로도 시작할 수 있습니다. 변수 이름과 행 이름은 유효한 MATLAB 식별자(유효 여부는 isvarname 함수의 판정에 따름)가 아니어도 됩니다. 변수 이름과 행 이름을 그대로 유지하려면 VariableNamingRule의 값을 "preserve"로 설정하십시오. VariableNamingRule의 값이 "modify"에서 "preserve"로 변경될 때 변수 이름은 새로 고쳐지지 않습니다.

데이터형: char | string

변수의 데이터형으로, 유효한 데이터형 이름을 포함하는 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정됩니다. VariableTypes 속성은 변수를 가져올 때 사용할 데이터형을 지정합니다.

VariableTypes 속성을 업데이트하려면 setvartype 함수를 사용하십시오.

예: opts.VariableTypes는 현재 변수 데이터형을 반환합니다.

예: opts = setvartype(opts,'Height',{'double'})은 변수 Height의 데이터형을 double로 변경합니다.

가져올 변수의 서브셋으로, 문자형 벡터, string형 스칼라, 문자형 벡터로 구성된 셀형 배열, string형 배열 또는 숫자형 인덱스로 구성된 배열로 지정됩니다.

SelectedVariableNamesVariableNames 속성에 포함된 이름의 서브셋이어야 합니다. 기본적으로, SelectedVariableNamesVariableNames 속성의 모든 변수 이름을 포함합니다. 즉, 모든 변수를 가져옵니다.

원하는 변수만 가져오려면 SelectedVariableNames 속성을 사용하십시오. 변수의 서브셋만 가져오려면 SelectedVariableNames 속성을 사용하여 서브셋을 지정하고 readtable을 사용하십시오.

공백과 비ASCII 문자가 포함된 변수 이름과 같이 유효하지 않은 MATLAB 식별자를 변수 이름으로 사용할 수 있도록 하려면 VariableNamingRule의 값을 'preserve'로 설정하십시오.

예: opts.SelectedVariableNames = {'Height','LastName'}은 가져오기 작업에 두 개의 변수 HeightLastName만 선택합니다.

예: opts.SelectedVariableNames = [1 5]는 가져오기 작업에 두 개의 변수, 즉 첫 번째 변수와 다섯 번째 변수만 선택합니다.

예: T = readtable(filename,opts)opts 객체의 SelectedVariableNames 속성에 지정된 변수만 포함하는 테이블을 반환합니다.

데이터형: uint16 | uint32 | uint64 | char | string | cell

유형별 변수 가져오기 옵션으로, variable import options 객체로 구성된 배열로 반환됩니다. 이 배열은 VariableNames 속성에 지정된 각 변수에 대응되는 객체를 포함합니다. 배열에 포함된 각 객체는 해당 데이터형 데이터를 가져오는 데 필요한 속성을 포함합니다.

변수 옵션은 숫자, 텍스트, logical, datetime, 또는 categorical 데이터형을 지원합니다.

변수에 대한 현재(또는 감지된) 옵션을 쿼리하려면 getvaropts 함수를 사용하십시오.

변수에 대해 옵션을 설정하고 사용자 지정하려면 setvaropts 함수를 사용하십시오.

예: opts.VariableOptionsVariableImportOptions 객체의 모음을 반환합니다. 모음에 포함된 각 객체는 데이터의 각 변수에 대응됩니다.

예: getvaropts(opts,'Height')Height 변수에 대한 VariableImportOptions 객체를 반환합니다.

예: opts = setvaropts(opts,'Height','FillValue',0)은 변수 HeightFillValue 속성을 0으로 설정합니다.

위치 속성

읽어 들일 시트로, 빈 문자형 배열, 시트 이름을 포함하는 문자형 벡터나 string형 스칼라 또는 시트 인덱스를 나타내는 양의 정수 스칼라로 지정됩니다. Sheet 속성에 지정된 값에 따라 가져오기 함수는 아래 표에 설명된 대로 동작합니다.

지정값동작
''(디폴트 값)첫 번째 시트에서 데이터를 가져옵니다.
이름스프레드시트 파일의 시트 순서와 상관없이 일치하는 시트 이름에서 데이터를 가져옵니다.
정수스프레드시트 파일의 시트 이름과 상관없이 정수로 나타내어진 위치에 있는 시트에서 데이터를 가져옵니다.

데이터형: char | string | single | double

가져올 데이터의 위치로, 문자형 벡터, string형 스칼라, 문자형 벡터로 구성된 셀형 배열, string형 배열, 양의 정수 스칼라 또는 양의 정수 스칼라로 구성된 N×2 배열로 지정됩니다. 다음 형식 중 하나를 사용하여 DataRange를 지정하십시오.

지정 유형동작

'Cell' 또는 n

시작 셀 또는 시작 행

Excel® A1 표기법을 사용하여 데이터에 대한 시작 셀을 지정합니다. 예를 들어, A5는 열 A와 행 5가 교차하는 지점에 있는 셀의 식별자입니다.

가져오기 함수는 시작 셀을 사용하여 시작 셀에서 가져오기를 시작하고 마지막 빈 행이나 푸터 범위에서 가져오기를 종료하는 방식으로 데이터의 범위를 자동으로 검색합니다.

또는 양의 스칼라 행 인덱스를 사용하여 데이터를 포함하는 첫 번째 행을 지정합니다.

가져오기 함수는 지정된 행 인덱스를 사용하여 지정된 첫 번째 행부터 데이터의 끝까지 읽어 들이거나 푸터 범위를 읽어 들이는 방식으로 데이터의 범위를 자동으로 검색합니다.

예: 'A5' 또는 5

'Corner1:Corner2'

사각 범위

사각 범위 형식을 사용하여 읽을 정확한 범위를 지정합니다. 여기서 Corner1Corner2는 읽을 범위를 정의하는 2개의 끝 지점입니다.

가져오기 함수는 지정된 범위에 포함된 데이터만 읽어옵니다. 지정된 범위 내에 있는 모든 빈 필드는 누락된 셀로서 가져옵니다.

열의 개수는 NumVariables 속성에 지정된 개수와 일치해야 합니다.

예: 'A5:K50'

'Row1:Row2' 또는 'Column1:Column2'

행 범위 또는 열 범위

Excel 행 번호를 사용하여 시작 행과 끝 행을 식별하여 범위를 지정합니다.

가져오기 함수는 지정된 행 범위를 사용하여 비어 있지 않은 첫 번째 열부터 데이터의 끝까지 읽어 들이는 방식으로 열의 범위를 자동으로 검색하고 열당 하나의 변수를 생성합니다.

예: '5:500'

또는 Excel 열 문자나 열 번호를 사용하여 시작 열과 끝 열을 식별하여 범위를 지정하십시오.

가져오기 함수는 지정된 열 범위를 사용하여 비어 있지 않은 첫 번째 행부터 데이터의 끝까지 읽어 들이거나 푸터 범위를 읽어 들이는 방식으로 행의 범위를 자동으로 검색합니다.

지정된 범위에 있는 열 개수는 NumVariables 속성에 지정된 개수와 일치해야 합니다.

예: 'A:K'

[n1 n2; n3 n4;...]

여러 개의 행 범위

N개의 서로 다른 행 범위를 갖는 N×2 배열을 사용하여 읽을 여러 개의 행 범위를 지정합니다.

여러 개의 행 범위로 구성된 유효한 배열은 다음을 충족해야 합니다.

  • 라인 범위를 오름차순으로 지정해야 합니다. 즉, 배열에 지정된 첫 번째 행 범위가 다른 행 범위보다 파일에서 먼저 나타나야 합니다.

  • 행 범위가 서로 겹치지 않아야 합니다.

Inf는 여러 개의 행 범위를 지정하는 숫자형 배열의 마지막 범위를 나타낼 때만 사용해야 합니다. 예를 들면 [1 3; 5 6; 8 Inf]와 같습니다.

예: [1 3; 5 6; 8 Inf]

''

지정되지 않거나 비어 있음

데이터를 가져오지 않습니다.

예: ''

데이터형: char | string | cell | single | double

행 이름의 위치로, 문자형 벡터, string형 스칼라, 양의 정수 스칼라 또는 빈 문자형 배열로 지정됩니다. 다음 표에 있는 값 중 하나로 RowNamesRange를 지정합니다.

지정 유형동작

'Cell'

Excel A1 표기법을 사용하여 데이터에 대한 시작 셀을 지정합니다. 예를 들어, A5는 열 A와 행 5가 교차하는 지점에 있는 셀의 식별자입니다.

가져오기 함수가 데이터에 포함된 각 변수의 이름을 식별합니다.

예: 'A5'

'Corner1:Corner2'

사각 범위

사각 범위 형식을 사용하여 읽을 정확한 범위를 지정합니다. 여기서 Corner1Corner2는 읽을 범위를 정의하는 2개의 끝 지점입니다.

RowNamesRange에 포함된 행 번호는 데이터의 행 번호와 일치해야 하고, RowNamesRange에 지정된 범위는 한 열로만 이루어져야 합니다.

예: 'A5:A50'

'Row1:Row2'

행 범위

Excel 행 번호를 사용하여 시작 행과 끝 행을 식별하여 범위를 지정합니다.

행 이름은 하나의 열에 있어야 합니다.

예: '5:50'

n

숫자 인덱스

양의 스칼라 열 인덱스를 사용하여 행 이름을 포함하는 열을 지정합니다.

예: 5

''

지정되지 않거나 비어 있음

행 이름이 없음을 나타냅니다.

예: ''

데이터형: char | single | double

변수 이름의 위치로, 문자형 벡터, string형 스칼라, 양의 정수 스칼라 또는 빈 문자형 배열로 지정됩니다. 다음 표에 있는 값 중 하나로 VariableNamesRange를 지정합니다.

지정 유형동작

'Cell'

Excel A1 표기법을 사용하여 데이터에 대한 시작 셀을 지정합니다. 예를 들어, A5는 열 A와 행 5가 교차하는 지점에 있는 셀의 식별자입니다.

가져오기 함수가 데이터에 포함된 각 변수의 이름을 읽어 들입니다.

예: 'A5'

'Corner1:Corner2'

사각 범위

사각 범위 형식을 사용하여 읽을 정확한 범위를 지정합니다. 여기서 Corner1Corner2는 읽을 범위를 정의하는 2개의 끝 지점입니다.

NumVariables 속성에 지정된 번호는 열 번호와 일치해야 하고, 범위는 한 행으로만 이루어져야 합니다.

예: 'A5:K5'

'Row1:Row2'

행 범위

Excel 행 번호를 사용하여 시작 행과 끝 행을 식별하여 범위를 지정합니다.

변수 이름은 단일 행에 있어야 합니다.

예: '5:5'

n

숫자 인덱스

양의 스칼라 행 인덱스를 사용하여 변수 이름을 포함하는 행을 지정합니다.

예: 5

''

지정되지 않거나 비어 있음

변수 이름이 없음을 나타냅니다.

예: ''

데이터형: char | single | double

변수 설명의 위치로, 문자형 벡터, string형 스칼라, 양의 정수 스칼라 또는 빈 문자형 배열로 지정됩니다. 다음 표에 있는 값 중 하나로 VariableDescriptionRange를 지정합니다.

지정 유형동작

'Cell'

Excel A1 표기법을 사용하여 데이터에 대한 시작 셀을 지정합니다. 예를 들어, A5는 열 A와 행 5가 교차하는 지점에 있는 셀의 식별자입니다.

가져오기 함수가 데이터에 포함된 각 변수의 설명을 읽어 들입니다.

예: 'A5'

'Corner1:Corner2'

사각 범위

사각 범위 형식을 사용하여 읽을 정확한 범위를 지정합니다. 여기서 Corner1Corner2는 읽을 범위를 정의하는 2개의 끝 지점입니다.

NumVariables 속성에 지정된 번호는 열 번호와 일치해야 하고, 범위는 한 행으로만 이루어져야 합니다.

예: 'A5:K5'

'Row1:Row2'

행 범위

Excel 행 번호를 사용하여 시작 행과 끝 행을 식별하여 범위를 지정합니다.

변수 이름은 단일 행에 있어야 합니다.

예: '5:5'

n

숫자 인덱스

양의 스칼라 행 인덱스를 사용하여 설명을 포함하는 행을 지정합니다.

예: 5

''

지정되지 않거나 비어 있음

변수 설명이 없음을 나타냅니다.

예: ''

데이터형: char | string | single | double

변수 단위의 위치로, 문자형 벡터, string형 스칼라, 양의 정수 스칼라 또는 빈 문자형 배열로 지정됩니다. 다음 표에 있는 값 중 하나로 VariableUnitsRange를 지정합니다.

지정 유형동작

'Cell'

Excel A1 표기법을 사용하여 데이터에 대한 시작 셀을 지정합니다. 예를 들어, A5는 열 A와 행 5가 교차하는 지점에 있는 셀의 식별자입니다.

가져오기 함수가 데이터에 포함된 각 변수의 단위를 읽어 들입니다.

예: 'A5'

'Corner1:Corner2'

사각 범위

사각 범위 형식을 사용하여 읽을 정확한 범위를 지정합니다. 여기서 Corner1Corner2는 읽을 범위를 정의하는 2개의 끝 지점입니다.

NumVariables 속성에 지정된 번호는 열 번호와 일치해야 하고, 범위는 한 행으로만 이루어져야 합니다.

예: 'A5:K5'

'Row1:Row2'

행 범위

Excel 행 번호를 사용하여 시작 행과 끝 행을 식별하여 범위를 지정합니다.

변수 이름은 단일 행에 있어야 합니다.

예: '5:5'

n

숫자 인덱스

양의 스칼라 행 인덱스를 사용하여 데이터 단위를 포함하는 행을 지정합니다.

예: 5

''

지정되지 않거나 비어 있음

변수 단위가 없음을 나타냅니다.

예: ''

데이터형: char | string | single | double

대체 규칙

누락된 데이터를 관리하는 방법으로, 다음 표에 있는 값 중 하나로 지정됩니다.

누락 규칙동작
'fill'

누락된 데이터를 FillValue 속성의 내용으로 대체합니다.

FillValue 속성은 가져올 변수의 VariableImportOptions 객체에 지정됩니다. FillValue 속성에 액세스하는 데 대한 자세한 내용은 getvaropts를 참조하십시오.

'error'가져오기를 중지하고 누락된 레코드와 필드를 보여주는 오류 메시지를 표시합니다.
'omitrow'누락된 데이터가 포함된 행을 생략합니다.
'omitvar'누락된 데이터가 포함된 변수를 생략합니다.

예: opts.MissingRule = 'omitrow';

데이터형: char | string

가져오기 오류를 처리하는 절차로, 다음 표에 있는 값 중 하나로 지정됩니다.

가져오기 오류 규칙동작
'fill'

오류가 발생한 데이터를 FillValue 속성의 내용으로 대체합니다.

FillValue 속성은 가져올 변수의 VariableImportOptions 객체에 지정됩니다. FillValue 속성에 액세스하는 데 대한 자세한 내용은 getvaropts를 참조하십시오.

'error'가져오기를 중지하고 오류를 일으킨 레코드와 필드를 보여주는 오류 메시지를 표시합니다.
'omitrow'오류가 발생한 행을 생략합니다.
'omitvar'오류가 발생한 변수를 생략합니다.

예: opts.ImportErrorRule = 'omitvar';

데이터형: char | string

객체 함수

getvaropts변수에 대한 가져오기 옵션 가져오기
setvaropts변수에 대한 가져오기 옵션 설정
setvartype변수 데이터형 설정
preview가져오기 옵션을 사용하여 파일에서 8개 행 미리보기

예제

모두 축소

파일 patients.xls에서 1개의 변수를 읽기 위한 import options 객체를 만듭니다.

SpreadsheetImportOptions 객체를 초기화하고, 변수 이름, 변수 유형과 데이터 시작 셀을 지정합니다. 그런 다음 preview 함수와 import options 객체를 사용하여 데이터를 미리 봅니다.

opts = spreadsheetImportOptions; 
opts.VariableNames = 'LastName';
opts.VariableTypes = 'categorical';
opts.DataRange = 'A2';
preview('patients.xls',opts)
ans=8×1 table
    LastName
    ________

    Smith   
    Johnson 
    Williams
    Jones   
    Brown   
    Davis   
    Miller  
    Wilson  

파일에서 변수를 가져옵니다.

oneVar = readtable('patients.xls',opts);
whos oneVar
  Name          Size            Bytes  Class    Attributes

  oneVar      100x1             12709  table              

patients.xls에서 여러 개의 변수를 읽기 위한 import options 객체를 만듭니다.

파일의 내용에 따라 변수의 개수, 변수 이름, 변수 유형, 데이터 시작 위치를 정의합니다.

numVars = 7;
varNames = {'LastName','Gender','Age','Location','Height','Weight','Smoker'} ;
varTypes = {'char','categorical','int32','char','double','double','logical'} ;
dataStartLoc = 'A2';

spreadsheetImportOptions 함수와 변수 정보를 사용하여 import options 객체 opts를 초기화합니다.

opts = spreadsheetImportOptions('NumVariables',numVars,...
                                'VariableNames',varNames,...
                                'VariableTypes',varTypes,...
                                'DataRange', dataStartLoc); 

preview 함수와 가져오기 옵션을 사용하여 데이터를 미리 봅니다.

preview('patients.xls',opts)
ans=8×7 table
      LastName      Gender    Age              Location               Height    Weight    Smoker
    ____________    ______    ___    _____________________________    ______    ______    ______

    {'Smith'   }    Male      38     {'County General Hospital'  }      71       176      true  
    {'Johnson' }    Male      43     {'VA Hospital'              }      69       163      false 
    {'Williams'}    Female    38     {'St. Mary's Medical Center'}      64       131      false 
    {'Jones'   }    Female    40     {'VA Hospital'              }      67       133      false 
    {'Brown'   }    Female    49     {'County General Hospital'  }      64       119      false 
    {'Davis'   }    Female    46     {'St. Mary's Medical Center'}      68       142      false 
    {'Miller'  }    Female    33     {'VA Hospital'              }      64       142      true  
    {'Wilson'  }    Male      40     {'VA Hospital'              }      68       180      false 

readtable을 사용하여 데이터를 가져옵니다.

T = readtable('patients.xls',opts);
whos T
  Name        Size            Bytes  Class    Attributes

  T         100x7             30563  table              

  • 개발 시기:

    • R2016b — SpreadsheetImportOptions 객체

    • R2018b — spreadsheetImportOptions 함수