Main Content

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

readtable

파일에서 테이블 만들기

설명

예제

T = readtable(filename)은 파일에서 열 방향 데이터를 읽어 테이블을 만듭니다.

readtable은 다음과 같은 파일 확장자에서 파일 형식을 결정합니다.

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

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

  • .xml - XML(Extensible Markup Language) 파일

  • .docx - Microsoft® Word 문서 파일

  • HTML(Hypertext Markup Language)용 .html, .xhtml 또는 .htm 파일

스프레드시트 및 텍스트 파일의 경우, readtable은 파일 내 각 열마다 각각 하나의 변수를 T에 만들고, 그 변수 이름은 파일의 첫 번째 행에서 읽어 들입니다. XML 파일의 경우, readtable은 테이블 변수로 감지된 각 요소 또는 특성 노드마다 각각 하나의 변수를 T에 만듭니다. 변수 이름은 요소 및 특성 이름에 해당합니다. Microsoft Word 문서 파일의 경우 readtable은 기본적으로 문서의 첫 번째 테이블에서 데이터를 가져오고 파일의 각 열마다 하나의 변수를 T에 만든 다음 테이블의 첫 번째 행에서 변수 이름을 읽어 들입니다. HTML 파일의 경우 readtable은 기본적으로 첫 번째 <TABLE> 요소에서 데이터를 불러오고 파일의 각 열마다 하나의 변수를 T에 만든 다음 테이블의 첫 번째 행에서 변수 이름을 읽어 들입니다.

기본적으로 readtable은 입력 파일의 각 열에서 감지된 데이터 값에 적합한 데이터형의 변수를 생성합니다.

예제

T = readtable(filename,opts)는 가져오기 옵션 opts를 사용하여 테이블을 만듭니다.

예제

T = readtable(___,Name,Value)는 하나 이상의 이름-값 쌍의 인수를 추가 옵션으로 지정하여 파일에서 테이블을 만듭니다. 예를 들어, readtable이 파일의 첫 번째 행을 변수 이름으로 읽을지 또는 데이터로 읽을지 여부를 지정할 수 있습니다.

데이터에 대한 특정 가져오기 옵션을 설정하기 위해 opts 객체를 사용하거나 이름-값 쌍을 지정할 수 있습니다. opts에 더해 이름-값 쌍을 지정하는 경우, readtable은 다음과 같은 이름-값 쌍만 지원합니다.

  • 텍스트 및 스프레드시트 파라미터 — ReadVariableNames, ReadRowNames

  • 텍스트 전용 파라미터 — DateLocale, Encoding

  • 스프레드시트 전용 파라미터 — Sheet, UseExcel

예제

모두 축소

파일 myCsvTable.dat를 불러오고 텍스트 편집기에서 파일 내용을 미리 봅니다. 아래에 스크린샷이 나와 있습니다. 파일에 쉼표로 구분된 열 방향 데이터가 포함되어 있음을 알 수 있습니다.

filename = 'myCsvTable.dat';

쉼표로 구분된 텍스트 파일에서 테이블을 생성합니다. 생성되는 테이블 T에 파일의 각 열별로 변수가 하나씩 포함되고 readtable은 파일의 첫 번째 라인에 있는 항목을 변수 이름으로 취급합니다.

T = readtable(filename)
T=5×6 table
      LastName      Gender    Age    Height    Weight    Smoker
    ____________    ______    ___    ______    ______    ______

    {'Smith'   }    {'M'}     38       71       176        1   
    {'Johnson' }    {'M'}     43       69       163        0   
    {'Williams'}    {'F'}     38       64       131        0   
    {'Jones'   }    {'F'}     40       67       133        0   
    {'Brown'   }    {'F'}     49       64       119        0   

R2020a부터는 readtable 함수가 파일에서 detectImportOptions 함수를 자동으로 호출한 것처럼 입력 파일을 읽어 들입니다. 이 함수는 데이터형을 감지하고 추가 헤더 행을 무시하고 누락값을 채울 수 있습니다.

예를 들어, 텍스트 편집기에서 headersAndMissing.txt 파일을 미리 봅니다. 파일에는 열 이름이 있는 라인과 헤더가 있는 라인이 있습니다. 마지막 두 행에는 빈 곳이 있습니다. 앞에 있는 행들의 경우, 그곳에 데이터 값이 들어 있습니다.

파일에서 테이블을 생성합니다. readtable 함수는 헤더를 무시합니다. 또한 적절한 누락값(숫자형 변수의 경우 NaN 값, 텍스트의 경우 빈 문자형 벡터)으로 빈 곳을 채웁니다.

T = readtable('headersAndMissing.txt')
T=5×6 table
     LastName        Gender      Age    Height    Weight    Smoker
    ___________    __________    ___    ______    ______    ______

    {'Wu'     }    {'M'     }     38      71       176        1   
    {'Johnson'}    {'M'     }     43      69       163        0   
    {'Sanchez'}    {'F'     }     38      64       131        0   
    {'Brown'  }    {'F'     }    NaN      67       133        0   
    {'Picard' }    {0x0 char}    NaN      64       119        0   

이전 릴리스의 디폴트 동작을 복원하려면 'Format','auto' 이름-값 쌍의 인수를 지정하십시오. readtable은 헤더를 데이터로 읽어 들이고 결과적으로 모든 테이블 변수를 텍스트로 변환합니다.

T = readtable('headersAndMissing.txt','Format','auto')
T=6×6 table
     LastName        Gender         Age        Height     Weight       Smoker   
    ___________    __________    __________    _______    _______    ___________

    {'string' }    {'string'}    {'int'   }    {'int'}    {'int'}    {'boolean'}
    {'Wu'     }    {'M'     }    {'38'    }    {'71' }    {'176'}    {'1'      }
    {'Johnson'}    {'M'     }    {'43'    }    {'69' }    {'163'}    {'0'      }
    {'Sanchez'}    {'F'     }    {'38'    }    {'64' }    {'131'}    {'0'      }
    {'Brown'  }    {'F'     }    {0x0 char}    {'67' }    {'133'}    {'0'      }
    {'Picard' }    {0x0 char}    {0x0 char}    {'64' }    {'119'}    {'0'      }

자세한 내용은 이 페이지의 호환성 관련 고려 사항 섹션을 참조하십시오.

텍스트 편집기에서 mySpaceDelimTable.txt 파일을 미리 봅니다. 아래에 스크린샷이 나와 있습니다. 파일에 공백으로 구분된 열 방향 데이터가 포함되어 있음을 알 수 있습니다.

공백으로 구분된 텍스트 파일에서 테이블을 생성합니다. 파일의 첫 번째 행에 감지 가능한 열 이름이 없으므로 readtable 함수는 디폴트 변수 이름으로서 Var1에서 Var5까지를 할당합니다.

T = readtable('mySpaceDelimTable.txt')
T=3×5 table
    Var1     Var2    Var3     Var4       Var5   
    _____    ____    ____    ______    _________

    {'M'}     45      45     {'NY'}    {'true' }
    {'F'}     41      32     {'CA'}    {'false'}
    {'M'}     40      34     {'MA'}    {'false'}

파일 myCsvTable.dat를 불러오고 텍스트 편집기에서 파일 내용을 미리 봅니다. 아래에 스크린샷이 나와 있습니다. 파일에 쉼표로 구분된 열 방향 데이터가 포함되어 있음을 알 수 있습니다.

filename = 'myCsvTable.dat';

쉼표로 구분된 텍스트 파일에서 테이블을 생성합니다. 처음 두 열을 문자형 벡터로 가져오고 세 번째 열을 uint32로, 그 다음의 두 열을 배정밀도 부동소수점 숫자로 가져옵니다. 마지막 열의 항목은 문자형 벡터로 가져옵니다.

T = readtable(filename,'Format','%s%s%u%f%f%s')
T=5×6 table
      LastName      Gender    Age    Height    Weight    Smoker
    ____________    ______    ___    ______    ______    ______

    {'Smith'   }    {'M'}     38       71       176      {'1'} 
    {'Johnson' }    {'M'}     43       69       163      {'0'} 
    {'Williams'}    {'F'}     38       64       131      {'0'} 
    {'Jones'   }    {'F'}     40       67       133      {'0'} 
    {'Brown'   }    {'F'}     49       64       119      {'0'} 

변환 지정자는 문자형 벡터로 구성된 셀형 배열의 경우 %s이고, double형의 경우 %f이며, uint32형의 경우 %u입니다.

파일에서 독일식 날짜를 읽고 테이블에 영어권 국가의 날짜로 추가합니다.

텍스트 편집기에서 german_dates.txt 파일을 미리 봅니다. 아래에 스크린샷이 나와 있습니다. 값의 첫 번째 열에는 독일식 날짜가 포함되어 있고 두 번째 및 세 번째 열에는 숫자형 값이 들어 있습니다.

readtable을 사용하여 샘플 파일을 읽습니다. 변환 지정자는 날짜의 경우 %D이고 부동소수점 값의 경우 %f입니다. FileEncoding 이름-값 쌍의 인수를 사용하여 파일 인코딩을 지정합니다. DateLocale 이름-값 쌍의 인수를 사용하여 날짜의 형식과 로캘을 지정합니다.

T = readtable('german_dates.txt',...
    'Format','%{dd MMMM yyyy}D %f %f',...
    'FileEncoding','ISO-8859-15',...
    'DateLocale','de_DE')
T=3×3 table
          Var1          Var2    Var3 
    ________________    ____    _____

     01 January 2014    20.2    100.5
    01 February 2014    21.6    102.7
       01 March 2014    20.7     99.8

첫 번째 행에 변수 이름을 포함하고 첫 번째 열에 행 이름을 포함한 스프레드시트에서 테이블을 만듭니다.

T = readtable('patients.xls','ReadRowNames',true);

테이블에서 처음 5개 행과 처음 4개 변수를 표시합니다.

T(1:5,1:4)
ans=5×4 table
                  Gender      Age              Location               Height
                __________    ___    _____________________________    ______

    Smith       {'Male'  }    38     {'County General Hospital'  }      71  
    Johnson     {'Male'  }    43     {'VA Hospital'              }      69  
    Williams    {'Female'}    38     {'St. Mary's Medical Center'}      64  
    Jones       {'Female'}    40     {'VA Hospital'              }      67  
    Brown       {'Female'}    49     {'County General Hospital'  }      64  

테이블의 DimensionNames 속성을 확인합니다.

T.Properties.DimensionNames
ans = 1x2 cell
    {'LastName'}    {'Variables'}

'LastName'은 스프레드시트의 첫 번째 행에 있는 첫 번째 열의 이름입니다.

스프레드시트 patients.xls의 지정된 영역의 데이터를 사용하여 테이블을 만듭니다. 끝 지점 C2E6 사이에 있는 5×3의 사각형 영역의 데이터를 사용합니다. 이 영역의 첫 번째 행을 변수 이름으로 사용하지 않습니다.

T = readtable('patients.xls',...
    'Range','C2:E6',...
    'ReadVariableNames',false)
T = 

    Var1               Var2                Var3
    ____    ___________________________    ____

    38      'County General Hospital'      71  
    43      'VA Hospital'                  69  
    38      'St. Mary's Medical Center'    64  
    40      'VA Hospital'                  67  
    49      'County General Hospital'      64  

T에는 디폴트 변수 이름이 포함되어 있습니다.

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

텍스트 파일에서 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'
       TrailingDelimitersRule: 'ignore'
                EmptyLineRule: 'skip'
                     Encoding: 'ISO-8859-1'

   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
           VariableNamingRule: 'modify'

   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:

    Name
    Type
    FillValue
    TreatAsMissing
    QuoteRule
    Prefixes
    Suffixes
    EmptyFieldRule
    WhitespaceRule

변수 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  

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

파일에서 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
           VariableNamingRule: 'modify'

   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  

공백이나 비ASCII 문자 등의 임의의 문자를 포함하는 변수 이름을 유지하면서 테이블 형식의 데이터를 읽을 수 있습니다. 먼저 임의의 변수 이름이 있는 테이블을 만들어 텍스트 파일에 씁니다. 그런 다음 원래 변수 이름을 그대로 유지한 채 테이블 형식 데이터를 다시 읽어 들입니다.

임의의 변수 이름이 있는 테이블을 만들어 테이블 형식 데이터를 파일 'sampletable.txt'에 씁니다.

LastName = {'Sanchez';'Johnson';'Li';'Diaz';'Brown'};
Age = [38;43;38;40;49];
Smoker = logical([1;0;1;0;1]);
varNames = {'Last Name','Age','Smoker (1 or 0)'};
T = table(LastName,Age,Smoker,'VariableNames',varNames)
T=5×3 table
     Last Name     Age    Smoker (1 or 0)
    ___________    ___    _______________

    {'Sanchez'}    38          true      
    {'Johnson'}    43          false     
    {'Li'     }    38          true      
    {'Diaz'   }    40          false     
    {'Brown'  }    49          true      

writetable(T,'sampletable.txt')

readtable을 사용하여 테이블 형식 데이터를 다시 읽어 들입니다. 기본적으로 MATLAB®은 공백이나 비ASCII 문자가 들어 있는 변수 이름을 유효한 MATLAB® 식별자로 변환합니다. 예를 들어, MATLAB®은 변수 이름 'Last Name''LastName'으로 변환하고 'Smoker (1 or 0)''Smoker_1or0_'으로 변환합니다. 변수 이름을 그대로 유지하면서 테이블 형식 데이터를 읽어 들이려면 'VariableNamingRule' 파라미터를 preserve로 설정하십시오.

T_preserve = readtable('sampletable.txt',"VariableNamingRule","preserve")
T_preserve=5×3 table
     Last Name     Age    Smoker (1 or 0)
    ___________    ___    _______________

    {'Sanchez'}    38            1       
    {'Johnson'}    43            0       
    {'Li'     }    38            1       
    {'Diaz'   }    40            0       
    {'Brown'  }    49            1       

파일에서 16진수 및 2진수를 읽고 테이블에 숫자형 변수로 저장할 수 있습니다. readtable 함수는 0x0b 접두사가 포함된 경우 자동으로 16진수 및 2진수를 각각 읽어 들입니다. 숫자형 값은 정수 데이터형을 사용하여 저장됩니다. 또한 접두사가 없는 경우 가져오기 옵션을 사용하여 이러한 숫자를 읽어 들일 수 있습니다.

텍스트 편집기에서 hexAndBinary.txt 파일을 미리 봅니다. 접두사가 있는 16진수 및 2진수 열과 함께 접두사가 없는 열이 하나 있습니다.

readtable을 사용하여 파일을 읽어 들입니다. 이 함수는 0x0b 접두사가 있는 숫자를 감지하여 정수로 저장합니다. 세 번째 열에는 접두사가 없으므로 해당 값은 텍스트로 처리됩니다.

T = readtable('hexAndBinary.txt')
T=3×4 table
    Var1     Var2      Var3         Var4    
    _____    ____    ________    ___________

      255    255     {'C7F9'}    {'Device1'}
      256      4     {'05BF'}    {'Device2'}
    43981    129     {'F00F'}    {'Device3'}

T.Var1에는 8비트 이상의 저장공간이 필요한 값이 있기 때문에 readtable 함수는 숫자형 값을 다른 정수 클래스(uint16uint8)에 저장합니다.

class(T.Var1)
ans = 
'uint16'
class(T.Var2)
ans = 
'uint8'

16진수 및 2진수에서 가져온 숫자형 값을 저장하기 위한 데이터형을 지정하려면 'HexType''BinaryType' 이름-값 쌍의 인수를 사용하십시오. 이 값을 부호 있는 32비트 정수로 저장합니다.

T = readtable('hexAndBinary.txt','HexType','int32','BinaryType','int32');
class(T.Var1)
ans = 
'int32'
class(T.Var2)
ans = 
'int32'

가져오기 옵션을 사용하여 접두사가 없는 16진수 및 2진수를 감지하고 이를 위한 저장공간을 지정할 수 있습니다. hexAndBinary.txt에 대한 import options 객체를 생성합니다.

opts = detectImportOptions('hexAndBinary.txt')
opts = 
  DelimitedTextImportOptions with properties:

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

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

   Variable Import Properties: Set types by name using setvartype
                VariableNames: {'Var1', 'Var2', 'Var3' ... and 1 more}
                VariableTypes: {'auto', 'auto', 'char' ... and 1 more}
        SelectedVariableNames: {'Var1', 'Var2', 'Var3' ... and 1 more}
              VariableOptions: Show all 4 VariableOptions 
	Access VariableOptions sub-properties using setvaropts/getvaropts
           VariableNamingRule: 'modify'

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

접두사가 없어도 세 번째 열을 16진수 값으로 가져오도록 지정하려면 setvaropts 함수를 사용하여 테이블의 세 번째 변수에 대한 변수 유형을 수정하십시오. 변수 유형을 int32로 설정합니다.

opts = setvaropts(opts,3,'NumberSystem','hex','Type','int32')
opts = 
  DelimitedTextImportOptions with properties:

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

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

   Variable Import Properties: Set types by name using setvartype
                VariableNames: {'Var1', 'Var2', 'Var3' ... and 1 more}
                VariableTypes: {'auto', 'auto', 'int32' ... and 1 more}
        SelectedVariableNames: {'Var1', 'Var2', 'Var3' ... and 1 more}
              VariableOptions: Show all 4 VariableOptions 
	Access VariableOptions sub-properties using setvaropts/getvaropts
           VariableNamingRule: 'modify'

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

파일을 읽고 세 번째 열을 텍스트가 아니라 숫자형 값으로 가져옵니다.

T = readtable('hexAndBinary.txt',opts)
T=3×4 table
    Var1     Var2    Var3        Var4    
    _____    ____    _____    ___________

      255    255     51193    {'Device1'}
      256      4      1471    {'Device2'}
    43981    129     61455    {'Device3'}

XML 파일용 XML 가져오기 옵션을 생성하고, 가져올 변수를 지정한 다음 데이터를 읽어 들입니다.

XML 파일 students.xml에는 Student라는 이름의 형제 노드 4개가 있으며 각 노드에는 동일한 자식 노드와 특성이 포함되어 있습니다.

type students.xml
<?xml version="1.0" encoding="utf-8"?>
<Students>
    <Student ID="S11305">
        <Name FirstName="Priya" LastName="Thompson" />
        <Age>18</Age>
        <Year>Freshman</Year>
        <Address>
            <Street xmlns="https://www.mathworks.com">591 Spring Lane</Street>
            <City>Natick</City>
            <State>MA</State>
      </Address>
      <Major>Computer Science</Major>
      <Minor>English Literature</Minor>
   </Student>
   <Student ID="S23451">
        <Name FirstName="Conor" LastName="Cole" />
        <Age>18</Age>
        <Year>Freshman</Year>
        <Address>
            <Street xmlns="https://www.mathworks.com">4641 Pearl Street</Street>
            <City>San Francisco</City>
            <State>CA</State>
        </Address>
        <Major>Microbiology</Major>
        <Minor>Public Health</Minor>
    </Student>
    <Student ID="S119323">
        <Name FirstName="Morgan" LastName="Yang" />
        <Age>21</Age>
        <Year>Senior</Year>
        <Address>
            <Street xmlns="https://www.mathworks.com">30 Highland Road</Street>
            <City>Detriot</City>
            <State>MI</State>
        </Address>
        <Major>Political Science</Major>
   </Student>
   <Student ID="S201351">
        <Name FirstName="Salim" LastName="Copeland" />
        <Age>19</Age>
        <Year>Sophomore</Year>
        <Address>
            <Street xmlns="https://www.mathworks.com">3388 Moore Avenue</Street>
            <City>Fort Worth</City>
            <State>TX</State>
        </Address>
        <Major>Business</Major>
        <Minor>Japanese Language</Minor>
   </Student>
   <Student ID="S201351">
        <Name FirstName="Salim" LastName="Copeland" />
        <Age>20</Age>
        <Year>Sophomore</Year>
        <Address>
            <Street xmlns="https://www.mathworks.com">3388 Moore Avenue</Street>
            <City>Fort Worth</City>
            <State>TX</State>
        </Address>
        <Major>Business</Major>
        <Minor>Japanese Language</Minor>
    </Student>
    <Student ID="54600">
        <Name FirstName="Dania" LastName="Burt" />
        <Age>22</Age>
        <Year>Senior</Year>
        <Address>
            <Street xmlns="https://www.mathworks.com">22 Angie Drive</Street>
            <City>Los Angeles</City>
            <State>CA</State>
        </Address>
        <Major>Mechanical Engineering</Major>
        <Minor>Architecture</Minor>
   </Student>
    <Student ID="453197">
        <Name FirstName="Rikki" LastName="Gunn" />
        <Age>21</Age>
        <Year>Junior</Year>
        <Address>
            <Street xmlns="https://www.mathworks.com">65 Decatur Lane</Street>
            <City>Trenton</City>
            <State>ME</State>
        </Address>
        <Major>Economics</Major>
        <Minor>Art History</Minor>
   </Student>
</Students>

파일에서 XMLImportOptions 객체를 만듭니다. VariableSelectors의 값을 //@FirstName으로 지정하여 FirstName 요소 노드를 테이블 변수로 가져올 항목으로 선택합니다.

opts = xmlImportOptions("VariableSelectors","//@FirstName")
opts = 
  XMLImportOptions with properties:

   Replacement Properties:
                     MissingRule: "fill"
                 ImportErrorRule: "fill"
                RepeatedNodeRule: "addcol"

   Variable Import Properties: Set types by name using setvartype
                   VariableNames: "Var1"
                   VariableTypes: "char"
           SelectedVariableNames: "Var1"
                 VariableOptions: Show all 1 VariableOptions 
	Access VariableOptions sub-properties using setvaropts/getvaropts
              VariableNamingRule: "preserve"

   Location Properties:
                   TableSelector: <missing>
                     RowSelector: <missing>
               VariableSelectors: "//@FirstName"
           VariableUnitsSelector: <missing>
    VariableDescriptionsSelector: <missing>
                RowNamesSelector: <missing>
            RegisteredNamespaces: [0x2 string]

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

T = readtable("students.xml",opts)
T=7×1 table
       Var1   
    __________

    {'Priya' }
    {'Conor' }
    {'Morgan'}
    {'Salim' }
    {'Salim' }
    {'Dania' }
    {'Rikki' }

RegisteredNamespaces 이름-값 인수를 사용하여 입력 파일의 기존 네임스페이스 URL에 사용자 지정 XML 네임스페이스 접두사를 등록합니다.

XML 파일에서 XMLImportOptions 객체를 만듭니다. Street 요소 노드의 XPath 표현식을 'VariableSelectors'의 값으로 지정하고 Street 노드에 속한 URL에 접두사 myPrefix를 등록합니다.

opts = detectImportOptions("students.xml","RegisteredNamespaces", ["myPrefix","https://www.mathworks.com"],...
    "VariableSelectors","//myPrefix:Street")
opts = 
  XMLImportOptions with properties:

   Replacement Properties:
                     MissingRule: "fill"
                 ImportErrorRule: "fill"
                RepeatedNodeRule: "addcol"

   Variable Import Properties: Set types by name using setvartype
                   VariableNames: "Street"
                   VariableTypes: "string"
           SelectedVariableNames: "Street"
                 VariableOptions: Show all 1 VariableOptions 
	Access VariableOptions sub-properties using setvaropts/getvaropts
              VariableNamingRule: "preserve"

   Location Properties:
                   TableSelector: <missing>
                     RowSelector: <missing>
               VariableSelectors: "//myPrefix:Street"
           VariableUnitsSelector: <missing>
    VariableDescriptionsSelector: <missing>
                RowNamesSelector: <missing>
            RegisteredNamespaces: ["myPrefix"    "https://www.mathworks.com"]

options 객체와 함께 readtable 함수를 사용하여 선택한 변수를 가져옵니다.

T2 = readtable("students.xml",opts)
T2=7×1 table
          Street       
    ___________________

    "591 Spring Lane"  
    "4641 Pearl Street"
    "30 Highland Road" 
    "3388 Moore Avenue"
    "3388 Moore Avenue"
    "22 Angie Drive"   
    "65 Decatur Lane"  

readtable 함수는 기본적으로 Microsoft Word 문서 파일에서 첫 번째 테이블을 읽어 들입니다. 파일 MaintenanceReport.docx에는 두 개의 테이블이 포함되어 있습니다. 두 번째 테이블의 마지막 행에는 테이블 변수와 일치하지 않는 병합된 열을 가진 셀이 들어 있습니다.

TableIndex 옵션을 2로 설정하여 두 번째 테이블을 읽어 들입니다. 병합된 열이 있는 셀을 가진 행을 건너뛰려면 MergedCellColumnRule 옵션을 'omitrow'로 설정하십시오.

filename = "MaintenanceReport.docx";
T = readtable(filename,'TableIndex',2,'MergedCellColumnRule','omitrow')
T=3×5 table
                                 Description                                       Category          Urgency         Resolution          Cost  
    _____________________________________________________________________    ____________________    ________    __________________    ________

    "Items are occasionally getting stuck in the scanner spools."            "Mechanical Failure"    "Medium"    "Readjust Machine"    "$45"   
    "Loud rattling and banging sounds are coming from assembler pistons."    "Mechanical Failure"    "Medium"    "Readjust Machine"    "$35"   
    "There are cuts to the power when starting the plant."                   "Electronic Failure"    "High"      "Full Replacement"    "$16200"

또는 TableSelector 옵션을 사용하는 XPath 선택자를 사용하여 테이블을 선택할 수도 있습니다. "Description" 텍스트를 포함하는 Microsoft Word 문서 테이블을 선택하려면 XPath 선택자 "//w:tbl[contains(.,'Description')]"을 사용하십시오.

T = readtable(filename, ...
    'TableSelector',"//w:tbl[contains(.,'Description')]", ...
    'MergedCellColumnRule','omitrow')
T=3×5 table
                                 Description                                       Category          Urgency         Resolution          Cost  
    _____________________________________________________________________    ____________________    ________    __________________    ________

    "Items are occasionally getting stuck in the scanner spools."            "Mechanical Failure"    "Medium"    "Readjust Machine"    "$45"   
    "Loud rattling and banging sounds are coming from assembler pistons."    "Mechanical Failure"    "Medium"    "Readjust Machine"    "$35"   
    "There are cuts to the power when starting the plant."                   "Electronic Failure"    "High"      "Full Replacement"    "$16200"

URL https://www.mathworks.com/help/matlab/text-files.html에서 XPath 선택자 "//TABLE[contains(.,'readtable')]"을 사용하여 텍스트 "readtable"을 포함하는 첫 번째 테이블을 읽어 들입니다. 테이블에 헤더 행이 없으므로 ReadVariableNames 옵션을 false로 설정하십시오.

url = "https://www.mathworks.com/help/matlab/text-files.html";
T = readtable(url,'TableSelector',"//TABLE[contains(.,'readtable')]", ...
    'ReadVariableNames',false)
T=4×2 table
          Var1                      Var2            
    ________________    ____________________________

    "readtable"         "Create table from file"    
    "writetable"        "Write table to file"       
    "readtimetable"     "Create timetable from file"
    "writetimetable"    "Write timetable to file"   

입력 인수

모두 축소

읽을 파일의 이름으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다.

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

위치

형식

현재 폴더 또는 MATLAB® 경로의 폴더

filename에 파일의 이름을 지정합니다.

예: 'myFile.txt'

폴더 안의 파일

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

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

예: 'dataDir\myFile.txt'

인터넷 URL

파일이 인터넷 URL(Uniform Resource Locator)로 지정된 경우, filename은 프로토콜 유형 'http://' 또는 'https://'를 포함해야 합니다.

예: 'http://hostname/path_to_file/my_data.csv'

원격 위치

파일이 원격 위치에 저장된 경우, filename은 다음 형식으로 지정된 파일의 전체 경로를 포함해야 합니다.

scheme_name://path_to_file/my_file.ext

원격 위치에 따라 scheme_name은 다음 표에 있는 값 중 하나가 될 수 있습니다.

원격 위치scheme_name
Amazon S3™s3
Windows Azure® Blob Storagewasb, wasbs
HDFS™hdfs

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

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

  • filename에 파일 확장자가 포함되는 경우 가져오기 함수는 확장자를 통해 파일 형식을 결정하게 됩니다. 파일 형식을 따로 나타내고자 하면 'FileType' 이름-값 쌍의 인수를 지정해야 합니다.

  • Microsoft Excel® 소프트웨어를 실행하는 Windows® 시스템에서 가져오기 함수는 사용자의 Excel 버전으로 인식되는 모든 Excel 스프레드시트 파일 형식을 읽습니다.

  • 시스템에 Windows용 Excel이 없거나 MATLAB Online™을 사용 중인 경우, 가져오기 함수는 UseExcel 속성이 false로 설정된 상태로 작동하고 .xls, .xlsx, .xlsm, .xltx, and .xltm 파일만 읽습니다.

  • 기호로 구분된 텍스트 파일의 경우, 가져오기 함수는 파일의 빈 필드를 NaN(숫자형 변수의 경우)이나 빈 문자형 벡터(텍스트 변수의 경우)로 변환합니다. 텍스트 파일의 모든 줄에는 동일한 개수의 구분 기호가 있어야 합니다. 가져오기 함수는 파일에서 무의미한 공백을 무시합니다.

데이터형: char | string

파일 가져오기 옵션으로, detectImportOptions 함수에 의해 생성된 SpreadsheetImportOptions, DelimitedTextImportOptions, FixedWidthImportOptions, XMLImportOptions, WordDocumentImportOptions 또는 HTMLDocumentImportOptions 객체로 지정됩니다. opts 객체에는 데이터 가져오기 과정을 제어하는 속성이 들어 있습니다. 각 객체의 속성에 대한 자세한 내용은 해당 객체 페이지를 참조하십시오.

파일 형식출력값
스프레드시트 파일SpreadsheetImportOptions 객체(Sheet, DataRange, VariableNames 속성의 경우에만 사용 가능)
텍스트 파일DelimitedTextImportOptions 객체
고정 너비 텍스트 파일FixedWidthImportOptions 객체
XML 파일XMLImportOptions 객체
Microsoft Word 문서 파일WordDocumentImportOptions 객체
HTML 파일HTMLImportOptions 객체

이름-값 인수

예: 'ReadVariableNames',false는 파일의 첫 번째 행이 변수 이름에 해당하지 않음을 나타냅니다.

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

지원되는 모든 파일 형식

모두 축소

파일 형식으로, 'FileType'과 함께 다음 값 중 하나가 쉼표로 구분되어 지정됩니다.

가져오기 옵션
'spreadsheet'

SpreadsheetImportOptions

'text'

텍스트 파일의 레이아웃에 따라 DelimitedTextImportOptions 또는 FixedWidthImportOptions를 반환합니다.

'delimitedtext'

DelimitedTextImportOptions 옵션은 구분 기호를 사용해서 열이 구분되어 있는 텍스트 파일에 사용하십시오.

'fixedwidth'

FixedWidthImportOptions 옵션은 고정 너비의 열을 가진 텍스트 파일에 사용하십시오.

'xml'

XMLImportOptions 옵션은 XML 파일에 사용하십시오.

'worddocument'

WordDocumentImportOptions 옵션은 Microsoft Word 문서 파일에 사용하십시오.

'html'

HTMLImportOptions 옵션은 HTML 파일에 사용하십시오.

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

  • .txt, .dat, .csv - 텍스트 파일

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

  • .xml - XML 파일

  • .docx - Microsoft Word 문서 파일

  • .html, .xhtml 또는 .htm - HTML 파일

예: 'FileType','text'

데이터형: char | string

첫 번째 열을 행 이름으로 읽을지 여부를 나타내는 표시자로, 'ReadRowNames'와 함께 false, true, 0, 1 중 하나가 쉼표로 구분되어 지정됩니다.

표시자

설명

false

읽을 영역의 첫 번째 열이 데이터를 포함하며 테이블의 행 이름이 아닌 경우에 사용하십시오.

true

읽을 영역의 첫 번째 열에 테이블의 행 이름이 포함되어 있는 경우에 사용하십시오.

지정되지 않음지정되지 않으면 readtablefalse를 가정합니다.

참고: 논리값 표시자 'ReadVariableNames''ReadRowNames'가 모두 true인 경우, readtable은 읽을 영역의 첫 번째 행의 첫 번째 열에 있는 이름을 속성 T.Properties.DimensionNames의 첫 번째 차원 이름으로 저장합니다.

opts 가져오기 옵션과 함께 ReadRowNames 인수를 지정하면 readtable 동작이 지정 내용에 따라 변경됩니다.

  • ReadRowNamestrue이면 import options 객체의 RowNamesRange 속성이나 RowNameColumn 속성을 사용하여 지정된 파일에서 행 이름을 읽습니다.

  • ReadRowNamesfalse이면 행 이름을 가져오지 않습니다.

예: 'ReadRowNames',true

빈 값으로 취급할 자리 표시자 텍스트로, 'TreatAsMissing'과 함께 문자형 벡터, 문자형 벡터로 구성된 셀형 배열, string형 또는 string형 배열이 쉼표로 구분되어 지정됩니다. 이 문자에 대응하는 테이블 요소는 NaN으로 설정됩니다.

'TreatAsMissing'은 테이블에서 숫자형 열에만 적용되고 readtable'-99' 같은 숫자형 리터럴을 허용하지 않습니다.

예: 'TreatAsMissing','N/A' 또는 'TreatAsMissing',"N/A"는 숫자형 열 내의 N/ANaN으로 설정합니다.

예: 'TreatAsMissing',{'.','NA','N/A'} 또는 'TreatAsMissing',[".","NA","N/A"]는 숫자형 열 내의 ., NA, N/ANaN으로 설정합니다.

데이터형: char | string

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

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

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

예: 'TextType','char'

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

가져오는 날짜/시간 데이터의 유형
'datetime'

MATLAB datetime 데이터형

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

'text'

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

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

  • 'TextType''string'으로 설정된 경우 가져오기 함수는 날짜를 string형 배열로 반환합니다.

'exceldatenum'

Excel 날짜 일련 번호 값

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

예: 'DatetimeType','datetime'

데이터형: char | string

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

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

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

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

예: "VariableNamingRule","preserve"

데이터형: char | string

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

누락 규칙동작
'fill'

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

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

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

예: 'MissingRule','omitrow'

데이터형: char | string

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

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

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

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

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

예: 'ImportErrorRule','omitvar'

데이터형: char | string

텍스트 파일과 스프레드시트 파일

모두 축소

첫 번째 행을 변수 이름으로 읽을지 여부를 나타내는 표시자로, 'ReadVariableNames'와 함께 true, false, 1, 0 중 하나가 쉼표로 구분되어 지정됩니다. 지정되지 않은 경우, readtable은 자동으로 변수 이름의 존재를 감지합니다.

표시자

설명

true

읽을 영역의 첫 번째 행에 테이블의 변수 이름이 포함되어 있는 경우에 사용하십시오. readtable은 각 열별 변수를 감지된 변수 이름으로 T에 만듭니다.

false

읽을 영역의 첫 번째 행에 테이블의 데이터가 포함되어 있는 경우에 사용하십시오. readtable'Var1',...,'VarN' 형식으로 디폴트 변수 이름을 만듭니다. 여기에서 N은 변수 번호입니다.

지정되지 않음 지정되지 않으면 readtable은 자동으로 truefalse를 감지하고 그 결과에 따라 진행합니다.

참고: 논리값 표시자 'ReadVariableNames''ReadRowNames'가 모두 true인 경우, readtable은 읽을 영역의 첫 번째 행의 첫 번째 열에 있는 이름을 속성 T.Properties.DimensionNames의 첫 번째 차원 이름으로 저장합니다.

opts 가져오기 옵션 이외에 ReadVariableNames 인수를 지정하면 readtable 동작이 지정 내용에 따라 변경됩니다.

  • ReadVariableNamestrue이면 import options 객체의 VariableNamesRange 속성이나 VariableNamesLine 속성을 사용하여 지정된 파일에서 변수 이름을 읽습니다.

  • ReadVariableNamesfalse이면 import options 객체의 VariableNames 속성에서 변수 이름을 읽습니다.

예: 'ReadVariableNames',true

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

예: 'ExpectedNumVariables',5

데이터형: single | double

텍스트 파일에만 해당

모두 축소

필드 구분 기호 문자로, 'Delimiter'와 함께 문자형 벡터, 문자형 벡터로 구성된 셀형 배열 또는 string형이 쉼표로 구분되어 지정됩니다. 쉼표 ',' 또는 마침표 '.' 같은 유효한 문자를 사용하여 Delimiter를 지정합니다.

아래 표에는 일반적으로 사용되는 필드 구분 기호 문자가 일부 나열되어 있습니다.

지정자

필드 구분 기호

','

'comma'

쉼표

' '

'space'

공백

'\t'

'tab'

';'

'semi'

세미콜론

'|'

'bar'

세로 막대

지정되지 않음

지정되지 않으면 readtable이 자동으로 구분 기호를 감지합니다.

연속된 구분 기호를 단일 구분 기호로 처리하려면 Delimiter를 문자형 벡터로 구성된 셀형 배열로 지정하십시오. 또한 MultipleDelimsAsOne 옵션도 지정해야 합니다.

예: 'Delimiter',',' 또는 'Delimiter','comma'

데이터형: char | string | cell

구분된 텍스트 파일의 선행 구분 기호를 관리하는 방법으로, 다음 표에 있는 값 중 하나로 지정됩니다.

선행 구분 기호 규칙동작
'keep'구분 기호를 유지합니다.
'ignore'구분 기호를 무시합니다.
'error'오류를 반환하고 가져오기 작업을 중단합니다.

예: 'LeadingDelimitersRule','keep'

구분된 텍스트 파일의 후행 구분 기호를 관리하는 방법으로, 다음 표에 있는 값 중 하나로 지정됩니다.

선행 구분 기호 규칙동작
'keep'구분 기호를 유지합니다.
'ignore'구분 기호를 무시합니다.
'error'오류를 반환하고 가져오기 작업을 중단합니다.

예: 'TrailingDelimitersRule','keep'

구분된 텍스트 파일의 연속된 구분 기호를 처리하는 절차로, 다음 표에 있는 값 중 하나로 지정됩니다.

연속된 구분 기호 규칙동작
'split'연속된 구분 기호를 여러 개의 필드로 분할합니다.
'join'여러 구분 기호를 하나의 구분 기호로 결합합니다.
'error'오류를 반환하고 가져오기 작업을 중단합니다.

예: 'ConsecutiveDelimitersRule','split'

데이터형: char | string

고정 너비 텍스트 파일의 변수 필드 너비로, 양의 정수 값으로 구성된 벡터로 지정됩니다. 벡터를 구성하는 각각의 양의 정수는 변수를 만드는 필드의 문자 수에 해당합니다. VariableWidths 속성에는 VariableNames 속성에 지정된 각 변수에 대응하는 요소가 포함되어 있습니다.

예: 'VariableWidths',[10,7,4,26,7]

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

예: 'Whitespace',' _'

예: 'Whitespace','?!.,'

데이터의 빈 라인을 처리하는 절차로, 'skip', 'read' 또는 'error'로 지정됩니다. 가져오기 함수는 공백을 빈 것으로 해석합니다.

빈 라인 규칙동작
'skip'빈 라인을 건너뜁니다.
'read'빈 라인을 가져옵니다. 가져오기 함수는 VariableWidths, VariableOptions, MissingRule과 기타 관련 속성(예: Whitespace)에 지정된 값을 사용하여 빈 라인을 구문 분석합니다.
'error'오류 메시지를 표시하고 가져오기 작업을 중단합니다.

예: 'EmptyLineRule','skip'

데이터형: char | string

변수 이름 위치로, 양의 정수 스칼라로 지정됩니다. VariableNamesLine 속성은 변수 이름이 위치하는 라인 번호를 지정합니다.

VariableNamesLine이 0으로 지정된 경우 변수 이름을 가져오지 않습니다. 그렇지 않은 경우, 지정된 라인에서 변수 이름을 가져옵니다.

예: 'VariableNamesLine',6

데이터형: single | double | uint8 | uint16 | uint32 | uint64

데이터의 부분 필드를 처리하는 절차로, 다음 표에 있는 값 중 하나로 지정됩니다.

부분 필드 규칙동작
'keep'

부분 필드 데이터를 유지하고 텍스트를 적절한 데이터형으로 변환합니다.

경우에 따라 가져오기 함수가 부분 데이터를 해석하지 못할 때 변환 오류가 발생할 수 있습니다.

'fill'

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

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

'omitrow'부분 데이터가 들어 있는 행을 생략합니다.
'omitvar'부분 데이터가 들어 있는 변수를 생략합니다.
'wrap'다음 문자 라인을 읽습니다.
'error'오류 메시지를 표시하고 가져오기 작업을 중단합니다.

예: 'PartialFieldRule','keep'

데이터형: char | string

변수 단위 위치로, 양의 정수 스칼라로 지정됩니다. VariableUnitsLine 속성은 변수 단위가 위치하는 라인 번호를 지정합니다.

VariableUnitsLine이 0으로 지정된 경우 변수 단위를 가져오지 않습니다. 그렇지 않은 경우, 지정된 라인에서 변수 단위를 가져옵니다.

예: 'VariableUnitsLine',8

데이터형: single | double | uint8 | uint16 | uint32 | uint64

변수 설명 위치로, 양의 정수 스칼라로 지정됩니다. VariableDescriptionsLine 속성은 변수 설명이 위치하는 라인 번호를 지정합니다.

VariableDescriptionsLine이 0으로 지정된 경우 변수 설명을 가져오지 않습니다. 그렇지 않은 경우, 지정된 라인에서 변수 설명을 가져옵니다.

예: 'VariableDescriptionsLine',7

데이터형: single | double | uint8 | uint16 | uint32 | uint64

데이터의 추가 열을 처리하는 절차로, 다음 표에 있는 값 중 하나로 지정됩니다.

추가 열 규칙동작
'addvars'

추가 열을 가져오기 위해 새 변수를 생성합니다. N개의 추가 열이 있는 경우, 새 변수를 'ExtraVar1', 'ExtraVar2',..., 'ExtraVarN'으로 가져옵니다.

참고: 추가 열은 char 데이터형의 텍스트로 가져옵니다.

'ignore'데이터의 추가 열을 무시합니다.
'wrap'새 레코드로 데이터의 추가 열을 줄 바꿈합니다. 이 동작을 수행해도 변수의 개수는 변경되지 않습니다.
'error'오류 메시지를 표시하고 가져오기 작업을 중단합니다.

예: 'ExtraColumnsRule','addvars'

데이터형: char | string

파일 시작 부분에서 건너뛸 헤더 라인 수로, 'NumHeaderLines'와 함께 양수가 쉼표로 구분되어 지정됩니다. 지정되지 않으면 readtable이 자동으로 건너뛸 라인 수를 감지합니다.

예: 'NumHeaderLines',2

데이터형: single | double

파일의 열 형식으로, 'Format'과 함께 하나 이상의 변환 지정자를 갖는 문자형 벡터나 string형 스칼라 또는 'auto'가 쉼표로 구분되어 지정됩니다. 변환 지정자는 textscan 함수가 허용하는 지정자와 동일합니다.

일부 대용량 파일의 경우 형식을 지정하면 읽어 들이는 속도를 확실하게 개선할 수 있습니다. Format에 대한 값을 지정하지 않으면 readtable은 숫자형이 아닌 열을 해석하는 데 %q를 사용합니다. %q 지정자는 텍스트를 읽어 들이면서 해당하는 경우 큰따옴표(")를 생략해 버립니다.

  • 'Format' 이름-값 쌍을 지정하지 않으면 detectImportOptions 함수의 결과를 사용하여 데이터를 가져온 것처럼 readtable 함수가 동작합니다. 이 동작의 결과에 대한 자세한 내용은 호환성 관련 고려 사항을 참조하십시오.

  • 'Format','auto'를 지정한 경우 생성되는 변수는 데이터에 따라 double형 배열, 문자형 벡터로 구성된 셀형 배열 또는 datetime형 배열입니다. 전체 열이 숫자형인 경우 변수를 double형으로 가져옵니다. 열에 숫자형이 아닌 요소가 있는 경우 변수를 문자형 벡터로 구성된 셀형 배열로 가져오거나 값이 날짜/시간을 나타내는 경우 datetime 배열로 가져옵니다.

예: 'Format','auto'

데이터형: char | string

구분된 텍스트 파일에서 빈 숫자형 필드에 대해 반환된 값으로, 'EmptyValue'와 함께 숫자형 스칼라가 쉼표로 구분되어 지정됩니다.

예: 'EmptyValue',0

여러 구분 기호 처리 방식으로, 'MultipleDelimsAsOne'과 함께 true 또는 false가 쉼표로 구분되어 지정됩니다. true인 경우, 가져오기 함수는 연속된 구분 기호를 단일 구분 기호로 취급합니다. 공백으로 구분된 반복 구분 기호도 단일 구분 기호로 취급됩니다. Delimiter 옵션도 지정해야 합니다.

예: 'MultipleDelimsAsOne',1

데이터를 결합할지에 대한 논리값 표시자로, 'CollectOutput'과 함께 true 또는 false가 쉼표로 구분되어 지정됩니다. true인 경우 가져오기 함수는 동일한 MATLAB 기본 클래스의 연속된 출력 셀들을 단일 배열로 결합합니다.

예: 'CollectOutput',true

무시할 텍스트를 지정하는 기호로, 'CommentStyle'과 함께 문자형 벡터, 문자형 벡터로 구성된 셀형 배열, string형 또는 string형 배열이 쉼표로 구분되어 지정됩니다.

예를 들어, '%'와 같은 문자를 지정하여 동일한 라인에서 기호 다음의 텍스트를 무시할 수 있습니다. {'/*','*/'}와 같은 두 개의 문자형 벡터로 구성된 셀형 배열을 지정하여 이러한 시퀀스 사이의 모든 텍스트를 무시할 수 있습니다.

MATLAB은 필드 내부가 아니라 각 필드의 시작 부분에서만 주석을 확인합니다.

예: 'CommentStyle',{'/*','*/'}

데이터형: char | string

지수 문자로, 'ExpChars'와 함께 문자형 벡터 또는 string형이 쉼표로 구분되어 지정됩니다. 디폴트 지수 문자는 e, E, d, D입니다.

예: 'ExpChars','eE'

데이터형: char | string

라인 끝(EOL) 문자로, 'LineEnding'과 함께 문자형 벡터 또는 string형이 쉼표로 구분되어 지정됩니다. 문자형 벡터는 '\r\n'이거나 단일 문자를 지정해야 합니다. 일반적인 라인 끝(EOL) 문자는 새 줄(Newline) 문자('\n') 또는 캐리지 리턴('\r')이 있습니다. '\r\n'을 지정할 경우 가져오기 함수는 \r, \n, 이 둘의 조합(\r\n)을 모두 라인 끝(EOL) 문자로 처리합니다.

디폴트 라인 끝(EOL) 시퀀스는 파일의 내용에 따라 \n, \r, \r\n 중 하나입니다.

누락값이 있으면서 파일의 마지막 라인 끝에 라인 끝(EOL) 시퀀스가 있는 경우 가져오기 함수는 해당 필드에 대해 빈 값을 반환합니다. 이를 통해, 출력 셀형 배열 C의 개별 셀이 같은 크기를 유지할 수 있습니다.

예: 'LineEnding',':'

데이터형: char | string

날짜 읽기에 적용할 로캘로, 'DateLocale'과 함께 xx_YY 형식의 문자형 벡터 또는 string형 스칼라가 쉼표로 구분되어 지정됩니다. 여기서,

  • YY는 국가를 지정하는 ISO 3166-1 alpha-2 코드(대문자)입니다.

  • xx는 언어를 지정하는 ISO 639-1 두 자리 코드(소문자)입니다.

다음 표에는 로캘에 일반적으로 사용되는 일부 값이 나와 있습니다.

로캘 언어국가
'de_DE'독일어독일
'en_GB'영어영국
'en_US'영어미국
'es_ES'스페인어스페인
'fr_FR'프랑스어프랑스
'it_IT'이탈리아어이탈리아
'ja_JP'일본어일본
'ko_KR'한국어한국
'nl_NL'네덜란드어네덜란드
'zh_CN'중국어(간체)중국

텍스트를 datetime형 값으로 읽기 위해 %D 형식 지정자를 사용할 때, DateLocale을 사용하여 가져오기 함수가 월과 요일 이름, 약어를 해석해야 하는 로캘을 지정하십시오.

opts 가져오기 옵션과 함께 DateLocale 인수를 지정하면, 가져오기 함수는 DateLocale 인수에 지정된 값을 사용하며 가져오기 옵션에 정의된 로캘을 무시합니다.

예: 'DateLocale','ja_JP'

숫자형 변수의 소수점 구분 기호를 나타내는 문자로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. 가져오기 함수는 DecimalSeparator 이름-값 쌍에 지정된 문자를 사용하여 숫자의 정수부와 소수부를 구별합니다.

정수 데이터형으로 변환할 때는 소수부 숫자가 가장 가까운 정수로 반올림됩니다.

예: 이름-값 쌍이 'DecimalSeparator',','로 지정된 경우 가져오기 함수가 텍스트 "3,14159"를 숫자 3.14159로 가져옵니다.

데이터형: char | string

숫자형 변수의 천 단위 구분을 나타내는 문자로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. 천 단위 구분 문자는 매 세 자리값에서 숫자를 분류하는 시각적 구분 기호로 동작합니다. 가져오기 함수는 ThousandsSeparator 이름-값 쌍에 지정된 문자를 사용하여 가져올 숫자를 해석합니다.

예: 이름-값 쌍이 'ThousandsSeparator',','로 지정된 경우 가져오기 함수가 텍스트 "1,234,000"1234000으로 가져옵니다.

데이터형: char | string

숫자형 변수에서 숫자형이 아닌 문자를 제거하며, 논리형 true 또는 false로 지정됩니다.

예: 이름-값 쌍이 'TrimNonNumeric',true로 지정된 경우 가져오기 함수가 '$500/-'500으로 읽습니다.

데이터형: logical

파일과 연결된 문자 인코딩 체계로, 'Encoding'과 함께 'system' 또는 표준 문자 인코딩 체계 이름이 쉼표로 구분되어 지정됩니다. 인코딩을 지정하지 않은 경우 readtable 함수는 자동 문자 집합 감지를 사용하여 파일을 읽을 때 사용할 인코딩을 결정합니다.

가져오기 옵션과 함께 'Encoding' 인수를 지정하면 readtable 함수는 'Encoding'에 지정된 값을 사용하고 가져오기 옵션에 정의된 인코딩을 무시합니다.

예: 'Encoding','UTF-8'은 UTF-8을 인코딩으로 사용합니다.

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

데이터형: char | string

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

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

MATLAB duration 데이터형

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

'text'

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

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

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

예: 'DurationType','text'

데이터형: char | string

16진수 데이터의 출력 데이터형으로, 'HexType'과 함께 표에 나와 있는 값 중 하나가 쉼표로 구분되어 지정됩니다.

입력 파일은 0x 또는 0X를 접두사로 사용하고 문자 0-9, a-f, A-F를 숫자로 사용하여 16진수 값을 텍스트로 나타냅니다. (대문자와 소문자는 동일한 숫자를 나타냅니다. 예를 들어 '0xf''0xF'는 모두 15를 나타냅니다.)

가져오기 함수는 16진수 값을 'HexType'의 값으로 지정된 데이터형으로 변환합니다.

'HexType'의 값

출력 테이블 변수의 데이터형

'auto'

자동으로 감지된 데이터형

'text'

변경되지 않은 입력 텍스트

'int8'

8비트 정수, 부호 있음

'int16'

16비트 정수, 부호 있음

'int32'

32비트 정수, 부호 있음

'int64'

64비트 정수, 부호 있음

'uint8'

8비트 정수, 부호 없음

'uint16'

16비트 정수, 부호 없음

'uint32'

32비트 정수, 부호 없음

'uint64'

64비트 정수, 부호 없음

예: 'HexType','uint16'은 16진수 값을 나타내는 텍스트(예: '0xFF')를 출력 테이블에서 부호 없는 16비트 정수(예: 255)로 변환합니다.

데이터형: char | string

이진 데이터의 출력 데이터형으로, 'BinaryType'과 함께 표에 나와 있는 값 중 하나가 쉼표로 구분되어 지정됩니다.

입력 파일은 0b 또는 0B를 접두사로 사용하고 문자 01을 숫자로 사용하여 이진 값을 텍스트로 나타냅니다.

가져오기 함수는 이진 값을 'BinaryType'의 값으로 지정된 데이터형으로 변환합니다.

'BinaryType'의 값

출력 테이블 변수의 데이터형

'auto'

자동으로 감지된 데이터형

'text'

변경되지 않은 입력 텍스트

'int8'

8비트 정수, 부호 있음

'int16'

16비트 정수, 부호 있음

'int32'

32비트 정수, 부호 있음

'int64'

64비트 정수, 부호 있음

'uint8'

8비트 정수, 부호 없음

'uint16'

16비트 정수, 부호 없음

'uint32'

32비트 정수, 부호 없음

'uint64'

64비트 정수, 부호 없음

예: 'BinaryType','uint16'은 이진 값을 나타내는 텍스트(예: '0b11111111')를 출력 테이블에서 부호 없는 16비트 정수(예: 255)로 변환합니다.

데이터형: char | string

숫자형 변수에서 숫자형이 아닌 문자를 제거하며, 논리형 true 또는 false로 지정됩니다.

예: 이름-값 쌍이 'TrimNonNumeric',true로 지정된 경우 가져오기 함수가 '$500/-'500으로 읽습니다.

데이터형: logical

스프레드시트 파일만 해당

모두 축소

읽을 워크시트로, 'Sheet'와 함께 워크시트 인덱스를 나타내는 양수나 워크시트 이름을 포함한 문자형 벡터 또는 string형이 쉼표로 구분되어 지정됩니다. 워크시트 이름에는 콜론(:)을 사용할 수 없습니다. 스프레드시트 파일에서 시트의 이름을 확인하려면 sheets = sheetnames(filename)을 사용하십시오. 자세한 내용은 sheetnames를 참조하십시오.

opts 가져오기 옵션과 함께 Sheet 인수를 지정하면 readtable 함수는 Sheet 인수에 지정된 값을 사용하고 가져오기 옵션에 정의된 시트 이름을 무시합니다.

예: 'Sheet', 2

예: 'Sheet', 'MySheetName'

예: 'Sheet', "MySheetName"

데이터형: char | string | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

Range를 지정하는 방법 설명

'Cell' 또는 [row col]

시작 셀

데이터의 시작 셀을 문자형 벡터나 string형 스칼라 또는 요소를 2개 가진 숫자형 벡터로 지정합니다.

  • Excel A1 표기법을 사용하여 열 문자와 행 번호를 포함하는 문자형 벡터나 string형 스칼라를 지정합니다. 예를 들어, A5는 열 A와 행 5가 교차하는 지점에 있는 셀의 식별자입니다.

  • 시작 행과 열을 나타내는 [row col] 형식을 갖는 요소를 2개 가진 숫자형 벡터를 지정합니다.

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

예: 'A5' 또는 [5 1]

'Corner1:Corner2'

사각 범위

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

예: 'Range','D2:H4'

''

지정되지 않거나 비어 있음

지정되지 않으면, readtable은 자동으로 "사용된 범위"를 감지합니다.

예: 'Range',''

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

'Row1:Row2'

행 범위

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

예: 'Range','1:7'

'Column1:Column2'

열 범위

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

예: 'Range','A:F'

'NamedRange'

Excel 내의 명명된 범위

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

예: 'Range','myTable'

예: 'Range', 'A1:F10'

예: 'Range', "A1:F10"

데이터형: char | string

가져올 데이터의 위치로, 문자형 벡터, 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]

''

지정되지 않거나 비어 있음

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

예: ''

예: 'DataRange', 'B2:H15'

데이터형: 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

''

지정되지 않거나 비어 있음

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

예: ''

예: 'RowNamesRange', 'A1:H1'

데이터형: 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

''

지정되지 않거나 비어 있음

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

예: ''

예: 'VariableNamesRange', 'A1:A15'

데이터형: char | 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

''

지정되지 않거나 비어 있음

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

예: ''

예: 'VariableUnitsRange', 'A1:A5'

데이터형: char | string | 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

''

지정되지 않거나 비어 있음

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

예: ''

예: 'VariableDescriptionsRange', 'B1:B15'

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

스프레드시트 데이터를 읽을 때 Windows용 Microsoft Excel을 시작할지 지정하는 플래그로, 'UseExcel'과 함께 true 또는 false가 쉼표로 구분되어 지정됩니다.

'UseExcel' 파라미터는 다음 값 중 하나로 설정할 수 있습니다.

  • true — 파일을 읽을 때 가져오기 함수가 Microsoft Excel을 시작합니다.

  • false — 파일을 읽을 때 가져오기 함수가 Microsoft Excel을 시작하지 않습니다. 이 모드에서 작업할 때 가져오기 함수는 파일 형식 지원과 수식이나 매크로 같은 대화형 기능 지원 면에서 다르게 동작합니다.

UseExcel

true

false

지원되는 파일 형식

.xls, .xlsx, .xlsm, .xltx, .xltm, .xlsb, .ods

.xls, .xlsx, .xlsm, .xltx, .xltm

수식이나 매크로 같은 대화형 기능 지원

아니요

Windows 플랫폼에서 스프레드시트 파일을 읽을 때 Microsoft Excel 인스턴스를 시작하지 않으려면 'UseExcel' 파라미터를 true로 설정하십시오.

예: 'UseExcel',true

XML 파일에만 해당

모두 축소

특성 접미사로, 'AttributeSuffix'와 함께 문자형 벡터 또는 string형 스칼라가 쉼표로 구분되어 지정됩니다. 이 인수는 읽기 함수가 입력 XML 파일의 특성에 대응하는 모든 테이블 변수에 추가하는 접미사를 지정합니다. 'AttributeSuffix'를 지정하지 않으면 읽기 함수는 기본적으로 입력 XML 파일의 특성에 대응하는 모든 변수 이름에 접미사 'Attribute'를 추가합니다.

예: 'AttributeSuffix','_att'

가져오기 특성으로, 'ImportAttributes'와 함께 1(true) 또는 0(false)이 쉼표로 구분되어 지정됩니다. false를 지정하면 읽기 함수가 입력 파일의 XML 특성을 출력 테이블의 변수로 가져오지 않습니다.

예: 'ImportAttributes',false

테이블 행 XML 노드 이름으로, 'RowNodeName'과 함께 문자형 벡터 또는 string형 스칼라가 쉼표로 구분되어 지정됩니다. 이 인수는 출력 테이블의 행을 설명하는 XML 노드 이름을 지정합니다.

예: 'RowNodeName','XMLNodeName'

테이블 행 XPath 표현식으로, 읽기 함수가 출력 테이블의 개별 행을 선택하는 데 사용하는 문자형 벡터 또는 string형 스칼라로 지정됩니다. 유효한 XPath 버전 1.0 표현식으로 RowSelector를 지정해야 합니다.

예: 'RowSelector','/RootNode/ChildNode'

테이블 변수 XML 노드 이름으로, 'VariableNodeNames'와 함께 문자형 벡터의 셀형 배열 또는 string형 배열이 쉼표로 구분되어 지정됩니다. 이 인수는 읽기 함수가 출력 테이블에서 변수로 읽을 XML 노드를 식별하는 데 사용하는 XML 노드 이름을 지정합니다.

예: 'VariableNodeNames',{'XMLNodeName1','XMLNodeName2'}

예: 'VariableNodeNames',"XMLNodeName"

예: 'VariableNodeNames',["XMLNodeName1","XMLNodeName2"]

테이블 변수 XPath 표현식으로, 읽기 함수가 테이블 변수를 선택하는 데 사용하는 문자형 벡터의 셀형 배열 또는 string형 배열로 지정됩니다. 유효한 XPath 버전 1.0 표현식으로 VariableSelectors를 지정해야 합니다.

예: 'VariableSelectors',{'/RootNode/ChildNode'}

예: 'VariableSelectors',"/RootNode/ChildNode"

예: 'VariableSelectors',["/RootNode/ChildNode1","/RootNode/ChildNode2"]

테이블 XML 노드 이름으로, 'TableNodeName'과 함께 문자형 벡터 또는 string형 스칼라가 쉼표로 구분되어 지정됩니다. 이 인수는 읽기 함수가 테이블로 읽어 들여야 하는 입력 구조체의 노드를 지정합니다.

예: 'TableNodeName','NodeName'

변수 단위 XPath로, 읽기 함수가 테이블 변수 단위를 선택하는 데 사용하는 문자형 벡터 또는 string형 스칼라로 지정됩니다. 유효한 XPath 버전 1.0 표현식으로 VariableUnitsSelector를 지정해야 합니다.

예: 'VariableUnitsSelector','/RootNode/ChildNode'

변수 설명 XPath 표현식으로, 읽기 함수가 테이블 변수 설명을 선택하는 데 사용하는 문자형 벡터 또는 string형 스칼라로 지정됩니다. 유효한 XPath 버전 1.0 표현식으로 VariableDescriptionsSelector를 지정해야 합니다.

예: 'VariableDescriptionsSelector','/RootNode/ChildNode'

테이블 행 이름 XPath 표현식으로, 읽기 함수가 테이블 행의 이름을 선택하는 데 사용하는 문자형 벡터 또는 string형 스칼라로 지정됩니다. 유효한 XPath 버전 1.0 표현식으로 RowNamesSelector를 지정해야 합니다.

예: 'RowNamesSelector','/RootNode/ChildNode'

테이블의 주어진 행에서 반복되는 XML 노드를 처리하는 절차로, 'addcol', 'ignore' 또는 'error'로 지정됩니다.

반복 노드 규칙

동작

'addcol'

테이블의 변수 헤더 아래에 반복 노드에 대한 열을 추가합니다. 'RepeatedNodeRule'의 값을 'addcol'로 지정하면 반복되는 노드에 대해 테이블에 별도의 변수가 생성되지 않습니다.

'ignore'

반복되는 노드를 가져오는 작업을 건너뜁니다.

'error'오류 메시지를 표시하고 가져오기 작업을 중단합니다.

예: 'RepeatedNodeRule','ignore'

등록된 XML 네임스페이스 접두사의 집합으로, RegisteredNamespaces 및 접두사 배열이 쉼표로 구분되어 지정됩니다. 읽기 함수는 XML 파일에서 XPath 표현식을 실행할 때 이러한 접두사를 사용합니다. 네임스페이스 접두사 및 관련 URL을 Nx2 string형 배열로 지정합니다. RegisteredNamespacesreadstructStructSelector 또는 readtablereadtimetableVariableSelectors와 같이 선택자 이름-값 인수로 지정된 XPath 표현식을 실행할 때 사용할 수 있습니다.

기본적으로, 읽기 함수는 XPath 실행에 사용하기 위해 등록할 네임스페이스 접두사를 자동으로 감지합니다. 그러나 사용자가 RegisteredNamespaces 이름-값 인수를 사용하여 새 네임스페이스 접두사를 등록할 수도 있습니다. XML 노드에 네임스페이스 URL이 있지만 XML 파일에 선언된 네임스페이스 접두사가 없는 경우 새 네임스페이스 접두사를 등록할 수 있습니다.

예를 들어, 네임스페이스 접두사가 포함되지 않은 example.xml이라는 XML 파일에서 XPath 표현식을 실행해 보겠습니다. 'RegisteredNamespaces'["myprefix", "https://www.mathworks.com"]으로 지정하여 URL https://www.mathworks.com에 접두사 myprefix를 할당합니다.

T = readtable("example.xml", "VariableSelector", "/myprefix:Data",...
 "RegisteredNamespaces", ["myprefix", "https://www.mathworks.com"])

예: 'RegisteredNamespaces',["myprefix", "https://www.mathworks.com"]

Microsoft Word 문서와 HTML 파일만 해당

모두 축소

여러 테이블을 포함하는 Microsoft Word 문서 또는 HTML 파일에서 읽어 들일 테이블의 인덱스로, 양의 정수로 지정됩니다.

TableIndex를 지정하면 TableSelector가 동일한 XPath 표현식으로 자동 설정됩니다.

예: 'TableIndex',2

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

여러 테이블을 포함하는 Microsoft Word 문서 또는 HTML 파일에서 읽어 들일 테이블의 인덱스로, 양의 정수로 지정됩니다.

TableIndex를 지정하면 TableSelector가 동일한 XPath 표현식으로 자동 설정됩니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

병합된 열이 있는 셀을 처리하는 절차로, 다음 표에 있는 값 중 하나로 지정됩니다.

가져오기 오류 규칙동작
"placeleft"

가장 왼쪽 셀에 데이터를 배치하고 나머지 셀을 FillValue 속성의 내용으로 채웁니다.

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

"placeright"

가장 오른쪽 셀에 데이터를 배치하고 나머지 셀을 FillValue 속성의 내용으로 채웁니다.

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

"duplicate"

모든 셀의 데이터를 복제합니다.

"omitrow"오류가 발생한 행을 생략합니다.
"error"오류 메시지를 표시하고 가져오기 작업을 중단합니다.

예: 'MergedCellColumnRule',"placeright"

병합된 행이 있는 셀을 처리하는 절차로, 다음 표에 있는 값 중 하나로 지정됩니다.

가져오기 오류 규칙동작
"placetop"

맨 위쪽 셀에 데이터를 배치하고 나머지 셀을 FillValue 속성의 내용으로 채웁니다.

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

"placebottom"

맨 아래쪽 셀에 데이터를 배치하고 나머지 셀을 FillValue 속성의 내용으로 채웁니다.

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

"duplicate"

모든 셀의 데이터를 복제합니다.

"omitvar"병합된 행이 있는 변수를 생략합니다.
"error"오류 메시지를 표시하고 가져오기 작업을 중단합니다.

예: 'MergedCellRowRule',"duplicate"

변수 이름을 포함하는 행으로, 음이 아닌 정수로 지정됩니다.

  • VariableNamesRow를 지정하지 않은 경우, ReadVariableNames 인수에 따라 변수 이름을 읽어 들입니다.

  • VariableNamesRow0이면 변수 이름을 가져오지 않습니다.

  • 그렇지 않으면, 지정된 행에서 변수 이름을 가져옵니다.

예: 'VariableNamesRow',2

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

변수 단위를 포함하는 행으로, 음이 아닌 정수로 지정됩니다.

VariableUnitsRow0이면 변수 단위를 가져오지 않습니다. 그렇지 않으면, 지정된 행에서 변수 단위를 가져옵니다.

예: 'VariableUnitsRow',3

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

변수 설명을 포함하는 행으로, 음이 아닌 정수로 지정됩니다.

VariableDescriptionsRow0이면 변수 설명을 가져오지 않습니다. 그렇지 않으면, 지정된 행에서 변수 설명을 가져옵니다.

예: 'VariableDescriptionsRow',4

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

테이블의 비어 있는 행에 적용되는 규칙으로, 다음 중 하나로 지정됩니다.

  • "skip" – 비어 있는 행을 건너뜁니다.

  • "read" – 비어 있는 행을 읽어 들입니다.

  • "error" – 테이블 감지 중에는 비어 있는 행을 무시하고 읽어 들이는 중에는 오류를 발생시킵니다.

예: "EmptyRowRule","read"

테이블의 비어 있는 열에 적용되는 규칙으로, 다음 중 하나로 지정됩니다.

  • "skip" – 비어 있는 열을 건너뜁니다.

  • "read" – 비어 있는 열을 읽어 들입니다.

  • "error" – 테이블 감지 중에는 비어 있는 열을 무시하고 읽어 들이는 중에는 오류를 발생시킵니다.

예: "EmptyColumnRule","error"

Microsoft Word 문서, HTML 파일, XML 파일에만 해당

모두 축소

테이블 데이터 XPath 표현식으로, 읽기 함수가 출력 테이블 데이터를 선택하는 데 사용하는 문자형 벡터 또는 string형 스칼라로 지정됩니다. 유효한 XPath 버전 1.0 표현식으로 TableSelector를 지정해야 합니다.

예: 'TableSelector','/RootNode/ChildNode'

출력 인수

모두 축소

출력 테이블로, 테이블 형식으로 반환됩니다. 이 테이블에는 설명, 변수 단위, 변수 이름, 행 이름과 같은 메타데이터가 저장될 수 있습니다. 자세한 내용은 table의 속성 섹션을 참조하십시오.

  • XLSX 형식의 대용량 파일은 불러오는 속도가 느린 경우가 있습니다. 더 나은 가져오기 및 내보내기 성능을 위해 Microsoft는 XLSB 형식을 사용할 것을 권장합니다.

  • XPath 선택기를 사용하여 XML 입력 문서의 어느 요소를 가져올지 지정합니다. 예를 들어, 다음의 구조를 갖는 XML 파일 myFile.xml을 가져오고자 한다고 가정하겠습니다.

    <data>
        <table category="ones">
            <var>1</var>
            <var>2</var>
        </table>
        <table category="tens">
            <var>10</var>
            <var>20</var>
        </table>
    </data>
    
    이 테이블은 XPath 선택기 이름-값 인수(예: VariableSelectors 또는 TableSelector)에 지원되는 XPath 구문을 제공합니다.

    선택 작업구문결과
    문서에서의 위치에 관계없이 선택하려는 노드와 이름이 일치하는 모든 노드를 선택합니다.이름 앞에 두 개의 슬래시(//)를 붙입니다.
    data = readtable('myFile.xml', 'VariableSelectors', '//var')
    data =
    
      4×1 table
    
        var
        ___
    
         1 
         2 
        10 
        20 
    요소 노드에 속한 특성 값을 읽어 들입니다.특성 앞에 골뱅이 기호(@)를 붙입니다.
    data = readtable('myFile.xml', 'VariableSelectors', '//table/@category')
    data =
    
      2×1 table
    
        categoryAttribute
        _________________
    
             "ones"      
             "tens"   
    노드 세트에서 특정 노드를 선택합니다.대괄호([]) 안에 선택하고자 하는 노드 인덱스를 제공합니다.
    data = readtable('myFile.xml', 'TableSelector', '//table[1]')
    data =
    
      2×1 table
    
        var
        ___
    
         1 
         2 
    
    연산 우선 순위를 지정합니다.먼저 평가할 표현식을 괄호로 묶습니다.
    data = readtable('myFile.xml', 'VariableSelectors', '//table/var[1]')
    data =
    
      2×1 table
    
        var
        ___
    
         1 
        10 
    data = readtable('myFile.xml', 'VariableSelectors', '(//table/var)[1]')
    data =
    
      table
    
        var
        ___
    
         1 

버전 내역

R2013b에 개발됨

모두 확장

R2020a에서 동작이 변경됨