이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

detectImportOptions

파일 내용에 따라 가져오기 옵션 생성

구문

opts = detectImportOptions(filename)
opts = detectImportOptions(filename,Name,Value)

설명

예제

opts = detectImportOptions(filename)은 파일에서 테이블을 찾고 테이블을 가져오는 데 사용할 수 있는 가져오기 옵션을 반환합니다. options 객체를 수정하고 readtable에서 이를 사용하여 MATLAB®이 테이블 형식 데이터를 가져오는 방법을 제어할 수 있습니다. 반환되는 options의 유형은 파일 확장자에 따라 달라집니다. 예를 들어, filename이 스프레드시트 파일인 경우 함수는 SpreadsheetImportOptions 객체를 반환합니다. 그러나 filename이 텍스트 파일인 경우 이 함수는 DelimitedTextImportOptions 객체나 FixedWidthImportOptions 객체를 반환합니다.

예제

opts = detectImportOptions(filename,Name,Value)는 하나 이상의 Name,Value 쌍 인수로 지정된 추가 파라미터를 활용하여 파일에서 테이블을 찾습니다.

예제

모두 축소

스프레드시트 파일에 대한 가져오기 옵션을 감지하고, 가져올 변수를 지정한 다음 데이터를 읽어 들입니다.

파일에서 import options 객체를 만듭니다.

opts = detectImportOptions('patients.xls')
opts = 
  SpreadsheetImportOptions with properties:

   Sheet Properties:
                        Sheet: ''

   Replacement Properties:
                  MissingRule: 'fill'
              ImportErrorRule: 'fill'

   Variable Import Properties: Set types by name using setvartype
                VariableNames: {'LastName', 'Gender', 'Age' ... and 7 more}
                VariableTypes: {'char', 'char', 'double' ... and 7 more}
        SelectedVariableNames: {'LastName', 'Gender', 'Age' ... and 7 more}
              VariableOptions: Show all 10 VariableOptions 
	Access VariableOptions sub-properties using setvaropts/getvaropts

   Range Properties:
                    DataRange: 'A2' (Start Cell)
           VariableNamesRange: 'A1'
                RowNamesRange: ''
           VariableUnitsRange: ''
    VariableDescriptionsRange: '' 
	To display a preview of the table, use preview

options 객체를 수정하여 가져올 변수를 지정합니다.

opts.SelectedVariableNames = {'Systolic','Diastolic'};

options 객체와 함께 readtable을 사용하여 지정된 변수를 가져옵니다.

T = readtable('patients.xls',opts);
summary(T)
Variables:

    Systolic: 100x1 double

        Values:

            Min          109    
            Median       122    
            Max          138    

    Diastolic: 100x1 double

        Values:

            Min            68    
            Median       81.5    
            Max            99    

가져오기 옵션을 만들고 여러 변수의 데이터형을 조정한 후 데이터를 읽어 들입니다.

텍스트 파일에서 import options 객체를 만듭니다.

opts = detectImportOptions('airlinesmall.csv')
opts = 
  DelimitedTextImportOptions with properties:

   Format Properties:
                    Delimiter: {','}
                   Whitespace: '\b\t '
                   LineEnding: {'\n'  '\r'  '\r\n'}
                 CommentStyle: {}
    ConsecutiveDelimitersRule: 'split'
        LeadingDelimitersRule: 'keep'
                EmptyLineRule: 'skip'
                     Encoding: 'UTF-8'

   Replacement Properties:
                  MissingRule: 'fill'
              ImportErrorRule: 'fill'
             ExtraColumnsRule: 'addvars'

   Variable Import Properties: Set types by name using setvartype
                VariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more}
                VariableTypes: {'double', 'double', 'double' ... and 26 more}
        SelectedVariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more}
              VariableOptions: Show all 29 VariableOptions 
	Access VariableOptions sub-properties using setvaropts/getvaropts

   Location Properties:
                    DataLines: [2 Inf]
            VariableNamesLine: 1
               RowNamesColumn: 0
            VariableUnitsLine: 0
     VariableDescriptionsLine: 0 
	To display a preview of the table, use preview

변수 TaxiInTaxiOutType 속성을 검토합니다.

getvaropts(opts,{'TaxiIn','TaxiOut'})
ans = 
  1x2 TextVariableImportOptions array with properties:

    WhitespaceRule
    Type
    FillValue
    Name
    QuoteRule
    TreatAsMissing
    Prefixes
    Suffixes
    EmptyFieldRule

변수 TaxiInTaxiOut의 유형을 double형으로 변경합니다.

 opts = setvartype(opts,{'TaxiIn','TaxiOut'},'double');

가져와서 검토할 일부 변수를 지정합니다.

opts.SelectedVariableNames = {'TaxiIn','TaxiOut'};

options 객체와 함께 readtable 함수를 사용하여 선택한 변수를 가져옵니다. 테이블의 요약을 표시합니다.

T = readtable('airlinesmall.csv',opts);
summary(T)
Variables:

    TaxiIn: 123523x1 double

        Values:

            Min            0      
            Median         5      
            Max            1451   
            NumMissing     37383  

    TaxiOut: 123523x1 double

        Values:

            Min             0      
            Median          13     
            Max             755    
            NumMissing      37364  

가져오기 옵션을 지정하여 텍스트 데이터를 문자열 데이터형으로 가져옵니다.

파일에 대한 options 객체를 만듭니다.

opts = detectImportOptions('outages.csv');

readtable을 사용하여 가져올 변수를 지정한 다음 요약을 표시합니다. 선택한 변수의 데이터형은 char입니다.

opts.SelectedVariableNames = {'Region','Cause'};
T = readtable('outages.csv',opts);
summary(T)
Variables:

    Region: 1468x1 cell array of character vectors

    Cause: 1468x1 cell array of character vectors

텍스트 데이터를 string 데이터형으로 가져온 다음 TextType 이름-값 쌍을 지정하여 가져오기 옵션을 만듭니다.

opts = detectImportOptions('outages.csv','TextType','string');

readtable을 사용하여 가져올 변수를 지정한 다음 요약을 표시합니다. 이제, 선택한 변수의 데이터형은 string입니다.

opts.SelectedVariableNames = {'Region','Cause'};
T = readtable('outages.csv',opts);
summary(T)
Variables:

    Region: 1468x1 string

    Cause: 1468x1 string

입력 인수

모두 축소

읽을 파일의 이름으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. filename에 파일 확장자가 포함되는 경우 detectImportOptions는 확장자를 통해 파일 형식을 결정하게 됩니다. 파일 형식을 따로 나타내고자 하면 'FileType' 이름-값 쌍을 지정해야 합니다.

파일의 위치에 따라 filename은 다음 형식 중 하나가 될 수 있습니다.

위치

형식

폴더 안의 파일

파일이 현재 폴더나 MATLAB 경로의 폴더에 없는 경우, 전체 또는 상대 경로 이름을 지정합니다.

예: 'C:\myFolder\myFile.xlsx'

예: '\imgDir\myFile.txt'

원격 위치

(Amazon S3™, Windows Azure® Blob 저장소 및 HDFS™)

파일이 원격 위치에 저장된 경우, filename은 다음 형식과 같이 IRI(Internationalized Resource Identifier)로 지정된 파일의 전체 경로를 포함해야 합니다.
scheme_name://path_to_file.

scheme_names3, wasb, wasbs 또는 hdfs 값일 수 있습니다.

자세한 내용은 원격 데이터로 작업하기 항목을 참조하십시오.

예: 's3://bucketname/path_to_file/my_file.csv'

detectImportOptions 함수가 지원하는 파일 확장자에는 .txt, .dat, .csv, .xls, .xlsb, .xlsm, .xlsx, .xltm, .xltx, .ods 등이 있습니다.

참고

파일 확장자 .xlsb.ods는 Windows®용 Excel®이 설치되어 있는 플랫폼에서만 지원됩니다.

데이터형: char | string

이름-값 쌍의 인수

선택적으로 Name,Value 인수가 쉼표로 구분되어 지정됩니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. Name은 따옴표 안에 표시해야 합니다. Name1,Value1,...,NameN,ValueN과 같이 여러 개의 이름-값 쌍의 인수를 어떤 순서로든 지정할 수 있습니다.

예: 'FileType','text'

파라미터

모두 축소

파일 형식으로, 'FileType'과 함께 'text''spreadsheet'가 쉼표로 구분되어 지정됩니다.

filename에 파일 확장자가 포함되어 있지 않거나 확장자가 다음 중 하나가 아닌 경우 'FileType' 이름-값 쌍의 인수를 지정하십시오.

  • .txt, .dat, .csv - 기호로 구분된 텍스트 파일

  • .xls, .xlsb, .xlsm, .xlsx, .xltm, .xltx, .ods - 스프레드시트 파일

참고

파일 확장자 .xlsb.ods는 Windows용 Excel이 설치되어 있는 플랫폼에서만 지원됩니다.

예: 'FileType','text'

데이터형: char | string

가져오는 텍스트 데이터의 유형으로, 'TextType'과 함께 'char'이나 'string'이 쉼표로 구분되어 지정됩니다.

  • 'char' — 텍스트 데이터를 문자형 벡터로 MATLAB으로 가져옵니다.

  • 'string' — 텍스트 데이터를 string형 배열로 MATLAB으로 가져옵니다.

예: 'TextType','char'

가져오는 날짜/시간 데이터의 유형으로, 'DatetimeType'과 함께 'datetime', 'text', 'exceldatenum' 중 하나가 쉼표로 구분되어 지정됩니다. 값 'exceldatenum'은 스프레드시트 파일에만 적용되며 텍스트 파일에는 사용할 수 없습니다.

날짜/시간 데이터의 유형
'datetime'

MATLAB datetime 데이터형

자세한 내용은 datetime을 참조하십시오.

'text'
  • TextType의 값이 char(디폴트 값)로 설정되면 날짜/시간 데이터는 문자형 벡터로 구성된 셀형 배열로 반환됩니다.

  • TextType의 값이 string으로 설정되면 날짜/시간 데이터는 string형 배열로 반환됩니다.

'exceldatenum'

Excel 날짜 일련 번호 값

날짜 일련 번호 값은 주어진 기준 날짜로부터의 일수로, 단일 숫자입니다. Excel 날짜 일련 번호 값은 MATLAB 날짜 일련 번호 값과는 다른 기준 날짜를 사용합니다. Excel 날짜에 대한 자세한 내용은 https://support.microsoft.com/en-us/kb/214330 항목을 참조하십시오.

예: 'DatetimeType','text'

데이터형: char | string

예상 변수 개수로, 'NumVariables'와 함께 양의 정수가 쉼표로 구분되어 지정됩니다. 지정되지 않은 경우, 가져오기 함수가 자동으로 변수 개수를 감지합니다.

예: 'NumVariables',10

데이터형: single | double

파일의 헤더 라인 수로, 'NumHeaderLines'와 함께 양의 정수가 쉼표로 구분되어 지정됩니다. 지정되지 않은 경우, 가져오기 함수가 자동으로 파일에 있는 헤더 라인 수를 감지합니다.

예: 'NumHeaderLines',7

데이터형: single | double

스프레드시트 파일 전용 파라미터

모두 축소

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

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

예: 'Sheet7'

예: 7

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

읽을 워크시트의 부분으로, 사각형 영역으로 표시되며, 'Range'와 함께 다음 형식 중 하나의 문자형 벡터 또는 string형 스칼라가 쉼표로 구분되어 지정됩니다.

Range를 지정하는 방법 설명

'Corner1:Corner2'

사각 범위

구문 'Corner1:Corner2'를 사용하여 범위를 지정하십시오. 여기서 Corner1Corner2는 영역을 지정하는 2개의 끝 지점입니다. 예를 들어, 'D2:H4'는 워크시트에서 2개의 끝 지점 D2H4 사이에 있는 3x5 사각 범위를 나타냅니다. 'Range' 이름-값 쌍의 인수는 대/소문자를 구분하지 않으며 Excel A1 참조 스타일을 사용합니다(Excel 도움말 참조).

예: 'Range','Corner1:Corner2'

''

지정되지 않거나 비어 있음

지정되지 않은 경우, 가져오기 함수가 자동으로 "사용된 범위"를 감지합니다.

예: 'Range',''

참고: 사용된 범위는 실제로 데이터를 포함하는 스프레드시트의 사각형 부분을 말합니다. 가져오기 함수는 데이터가 들어 있지 않은 모든 선행 행과 열, 후행 행과 열을 잘라내어 자동으로 "사용된 범위"를 감지합니다. 공백만 있는 텍스트는 데이터로 간주되어 "사용된 범위"에 캡처됩니다.

'Row1:Row2'

행 범위

Excel 행 지정자로 시작 행과 끝 행을 지정하여 범위를 식별할 수 있습니다. 그런 다음 readtable이 지정된 행 내에서 사용된 열 범위를 자동으로 감지합니다. 예를 들어, 가져오기 함수는 범위 지정값 '1:7'을 행 1에서 7(구간의 끝점 포함)까지 사용된 범위에서 모든 열을 읽는 것으로 해석합니다.

예: 'Range','1:7'

'Column1:Column2'

열 범위

Excel 열 지정자로 시작 열과 끝 열을 지정하여 범위를 식별할 수 있습니다. 그런 다음 readtable이 지정된 열 내에서 사용된 행 범위를 자동으로 감지합니다. 예를 들어, 가져오기 함수는 범위 사양 'A:F'를 열 A에서 F(구간의 끝점 포함)까지 사용된 범위에서 모든 행을 읽는 것으로 해석합니다.

예: 'Range','A:F'

'NamedRange'

Excel의 명명된 범위

Excel의 스프레드시트에서 범위를 식별하는 이름을 만들 수 있습니다. 예를 들어, 스프레드시트의 사각형 부분을 선택하고 'myTable'이라고 지정할 수 있습니다. 스프레드시트에 이렇게 명명된 범위가 있는 경우 가져오기 함수는 이 이름을 사용하여 범위를 읽을 수 있습니다.

예: 'Range','myTable'

데이터형: char | string

텍스트 파일 전용 파라미터

모두 축소

필드 구분 기호 문자로, 문자형 벡터, string형 스칼라, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정됩니다.

예: '|'

예: {';','*'}

데이터형: char | string | cell

공백으로 처리할 문자로, 하나 이상의 문자를 포함하는 문자형 벡터 또는 string형 스칼라로 지정됩니다.

예: ' _'

예: '?!.,'

라인 끝(EOL) 문자로, 문자형 벡터, string형 스칼라, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정됩니다.

예: '\n'

예: '\r\n'

예: {'\b',':'}

데이터형: char | string | cell

파일과 연결된 문자 인코딩 체계로, 'Encoding'과 함께 'system' 또는 다음 표에 있는 표준 문자 인코딩 체계 이름이 쉼표로 구분되어 지정됩니다.

'Big5'

'ISO-8859-1'

'windows-847'

'Big5-HKSCS'

'ISO-8859-2'

'windows-949'

'CP949'

'ISO-8859-3'

'windows-1250'

'EUC-KR'

'ISO-8859-4'

'windows-1251'

'EUC-JP'

'ISO-8859-5'

'windows-1252'

'EUC-TW'

'ISO-8859-6'

'windows-1253'

'GB18030'

'ISO-8859-7'

'windows-1254'

'GB2312'

'ISO-8859-8'

'windows-1255'

'GBK'

'ISO-8859-9'

'windows-1256'

'IBM866'

'ISO-8859-11'

'windows-1257'

'KOI8-R'

'ISO-8859-13'

'windows-1258'

'KOI8-U'

'ISO-8859-15'

'US-ASCII'

 

'Macintosh'

'UTF-8'

 

'Shift_JIS'

 

예: 'system'은 시스템 디폴트 인코딩을 사용합니다.

데이터형: char | string

주석 스타일로, 문자형 벡터, string형 스칼라, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정됩니다.

예를 들어, CommentStyle'%'로 지정하면 동일한 라인에 있는 퍼센트 기호 다음의 텍스트가 무시됩니다.

예: {'/*'}

데이터형: char | string | cell

텍스트 파일의 duration형 데이터의 출력 데이터형으로, 'DurationType'과 함께 'duration'이나 'text'가 쉼표로 구분되어 지정됩니다.

가져오는 duration형 데이터의 유형
'duration'

MATLAB duration 데이터형

자세한 내용은 duration을 참조하십시오.

'text'

'DurationType''text'로 지정된 경우, 가져오는 duration형 데이터의 유형은 'TextType' 파라미터에 지정된 값에 따라 달라집니다.

  • 'TextType''char'인 경우 가져오기 함수는 duration형 데이터를 문자형 벡터로 구성된 셀형 배열로 반환합니다.

  • 'TextType''string'인 경우 가져오기 함수는 duration형 데이터를 string형 배열로 반환합니다.

데이터형: char | string

출력 인수

모두 축소

지정된 파일에 대한 가져오기 옵션으로, SpreadsheetImportOptions 객체 또는 DelimitedTextImportOptions 객체로 반환됩니다. options 객체 유형은 지정된 파일 형식에 따라 달라집니다. 텍스트 파일(.txt, .dat 또는 .csv)의 경우 detectImportOptions 함수는 DelimitedTextImportOptions 객체나 FixedWidthImportOptions 객체를 반환합니다. 스프레드시트 파일(.xls, .xlsb, .xlsm, .xlsx, .xltm, .xltx, .ods)의 경우 detectImportOptions 함수는 SpreadsheetImportOptions 객체를 반환합니다.

지정된 파일의 내용에 따라 detectImportOptions 함수는 자동으로 다음 파라미터를 감지하고 설정합니다.

스프레드시트 파일의 경우텍스트 파일의 경우
VariableNames(있는 경우)VariableNames(있는 경우)
VariableTypesVariableTypes
DataRangeDataLine
VariableNamesRangeVariableNamesLine
 Delimiter
 LeadingDelimitersRule(공백이 구분 기호인 경우)
 ConsecutiveDelimitersRule(공백이 구분 기호인 경우)
 PartialFieldRule(고정 너비 파일의 경우)

R2016b에 개발됨