이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.
고정 너비 텍스트 파일에 대한 옵션 객체 가져오기
FixedWidthImportOptions
객체를 사용하면 MATLAB®이 텍스트 파일에서 고정 너비 테이블 형식 데이터를 가져오는 방법을 지정할 수 있습니다. 이 객체는 누락된 데이터나 오류를 처리하는 속성과 데이터 가져오기 프로세스를 제어하는 속성을 가집니다.
FixedWidthImportOptions
객체는 여기에서 설명하는 fixedWidthImportOptions
함수를 사용하거나 detectImportOptions
함수를 사용하여 만들 수 있습니다.
fixedWidthImportOptions
를 사용하면 가져오기 요구 사항을 기반으로 가져오기 속성을 정의할 수 있습니다.
detectImportOptions
를 사용하면 filename
에 지정된 고정 너비 텍스트 파일의 내용을 기반으로 가져오기 속성을 감지하고 채울 수 있습니다.
opts = detectImportOptions(filename)
opts = fixedWidthImportOptions
는 1개의 변수를 갖는 FixedWidthImportOptions
객체를 만듭니다.
opts = fixedWidthImportOptions('NumVariables',
는 numVars
)numVars
에 지정된 개수만큼의 변수를 갖는 객체를 만듭니다.
이 사용자 지정 FixedWidthImportOptions
객체를 사용하여 데이터를 가져오려면 VariableNames
, VariableWidths
, VariableTypes
, DataLine
속성을 먼저 설정해야 합니다.
numVars
— 변수 개수변수 개수로, 양의 정수 스칼라로 지정됩니다.
VariableNames
— 변수 이름변수 이름으로, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정됩니다. VariableNames
속성은 변수를 가져올 때 사용할 이름을 포함합니다.
데이터에 N
개 변수가 포함되어 있지만 변수 이름이 감지되지 않을 경우 VariableNames
속성은 {'Var1','Var2',...,'VarN'}
을 포함합니다.
예: opts.VariableNames
는 현재(감지된) 변수 이름을 반환합니다.
예: opts.VariableNames(3)
= {'Height'}
는 세 번째 변수의 이름을 Height
로 변경합니다.
데이터형: char
| string
| cell
VariableWidths
— 변수의 필드 너비변수의 필드 너비로, 양의 정수 값으로 구성된 벡터로 지정됩니다. 벡터를 구성하는 각각의 양의 정수는 변수를 만드는 필드의 문자 수에 해당합니다. VariableWidths
속성에는 VariableNames
속성에 지정된 각 변수에 대응하는 요소가 포함되어 있습니다.
예: opts.VariableWidths
는 변수 너비로 구성된 벡터를 반환합니다. 이 벡터의 각 요소는 데이터에 있는 변수의 너비에 해당합니다.
VariableTypes
— 변수 데이터형변수 데이터형으로, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정됩니다. VariableTypes
속성은 변수를 가져올 때 사용할 데이터형을 지정합니다. 새 값을 할당해야 하는 경우 VariableTypes
를 유효한 데이터형 이름으로 구성된 셀형 배열로 지정하십시오.
VariableTypes
속성을 업데이트하려면 setvartype
함수를 사용하십시오.
예: opts.VariableTypes
는 현재(감지된) 변수 데이터형을 반환합니다.
예: opts
= setvartype(opts,'Height',{'double'})
은 변수 Height
의 데이터형을 double
로 변경합니다.
데이터형: cell
| single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| char
| string
| categorical
| datetime
SelectedVariableNames
— 가져올 변수의 서브셋가져올 변수의 서브셋으로, 문자형 벡터, string형 스칼라, 문자형 벡터로 구성된 셀형 배열, string형 배열 또는 숫자형 인덱스로 구성된 배열로 지정됩니다.
SelectedVariableNames
는 VariableNames
속성에 포함된 이름의 서브셋이어야 합니다. 기본적으로, SelectedVariableNames
는 VariableNames
속성의 모든 변수 이름을 포함합니다. 즉, 모든 변수를 가져옵니다.
원하는 변수만 가져오려면 SelectedVariableNames
속성을 사용하십시오. 변수의 서브셋만 가져오려면 SelectedVariableNames
속성을 사용하여 서브셋을 지정하고 readtable
을 사용하십시오.
예: opts.SelectedVariableNames = {'Height','LastName'}
은 가져오기 작업에 두 개의 변수 Height
와 LastName
만 선택합니다.
예: opts.SelectedVariableNames
= [1 5]
는 가져오기 작업에 두 개의 변수, 첫 번째 변수와 다섯 번째만 선택합니다.
예: T = readtable(filename,opts)
는 opts
객체의 SelectedVariableNames
속성에 지정된 변수만 포함하는 테이블을 반환합니다.
데이터형: uint16
| uint32
| uint64
| char
| string
| cell
VariableOptions
— 유형별 변수 가져오기 옵션유형별 변수 가져오기 옵션으로, variable import options 객체로 구성된 배열로 반환됩니다. 이 배열은 VariableNames
속성에 지정된 각 변수에 대응되는 객체를 포함합니다. 배열에 포함된 각 객체는 해당 데이터형 데이터를 가져오는 데 필요한 속성을 포함합니다.
변수 옵션은 숫자, 텍스트, logical
, datetime
, 또는 categorical
데이터형을 지원합니다.
변수에 대한 현재(또는 감지된) 옵션을 쿼리하려면 getvaropts
함수를 사용하십시오.
변수에 대해 옵션을 설정하고 사용자 지정하려면 setvaropts
함수를 사용하십시오.
예: opts.VariableOptions
는 VariableImportOptions
객체의 모음을 반환합니다. 모음에 포함된 각 객체는 데이터의 각 변수에 대응됩니다.
예: getvaropts(opts,'Height')
는 Height
변수에 대한 VariableImportOptions
객체를 반환합니다.
예: opts = setvaropts(opts,'Height','FillValue',0)
은 변수 Height
의 FillValue
속성을 0
으로 설정합니다.
DataLines
— 데이터 위치데이터 위치로, 양의 정수 스칼라로 지정되거나 양의 정수 스칼라로 구성된 N-
x-2
배열로 지정됩니다. 다음 형식 중 하나를 사용하여 DataLines
를 지정하십시오.
다음으로 지정 |
설명 |
---|---|
|
데이터를 포함하는 첫 번째 라인을 지정합니다.
|
| 데이터를 포함하는 라인 범위를 지정합니다. 배열 |
|
여러 개의 라인 범위로 구성된 유효한 배열은 다음을 충족해야 합니다.
여러 라인 범위를 지정할 때는 배열의 마지막 라인 범위의 끝을 지정할 때만 |
예: opts.DataLines = 5
는 DataLines
속성을 값 [5 inf]
로 설정합니다. 5
행부터 파일 끝까지 모든 행을 읽어 들입니다.
예: opts.DataLines = [2 6]
은 라인 2
부터 6
까지 읽도록 속성을 설정합니다.
예: opts.DataLines = [1 3; 5 6; 8 inf]
는 1
행, 2
행, 3
행, 5
행, 6
행, 그리고 8
행과 파일 끝 사이의 모든 행을 읽도록 속성을 설정합니다.
데이터형: single
| double
| uint8
| uint16
| uint32
| uint64
RowNamesColumn
— 행 이름 위치0
(디폴트 값) | 양의 정수 스칼라행 이름 위치로, 양의 정수 스칼라로 지정됩니다. RowNamesColumn
속성은 행 이름을 포함하는 열의 위치를 지정합니다.
RowNamesColumn
이 0으로 지정된 경우 행 이름을 가져오지 않습니다. 그렇지 않은 경우, 지정된 열에서 행 이름을 가져옵니다.
예: opts.RowNamesColumn = 2;
데이터형: single
| double
| uint8
| uint16
| uint32
| uint64
VariableNamesLine
— 변수 이름 위치0
(디폴트 값) | 양의 정수 스칼라변수 이름 위치로, 양의 정수 스칼라로 지정됩니다. VariableNamesLine
속성은 변수 이름이 위치하는 라인 번호를 지정합니다.
VariableNamesLine
이 0으로 지정된 경우 변수 이름을 가져오지 않습니다. 그렇지 않은 경우, 지정된 라인에서 변수 이름을 가져옵니다.
예: opts.VariableNamesLine = 6;
데이터형: single
| double
| uint8
| uint16
| uint32
| uint64
VariableDescriptionsLine
— 변수 설명 위치0
(디폴트 값) | 양의 정수 스칼라변수 설명 위치로, 양의 정수 스칼라로 지정됩니다. VariableDescriptionsLine
속성은 변수 설명이 위치하는 라인 번호를 지정합니다.
VariableDescriptionsLine
이 0으로 지정된 경우 변수 설명을 가져오지 않습니다. 그렇지 않은 경우, 지정된 라인에서 변수 설명을 가져옵니다.
예: opts.VariableDescriptionsLine = 7;
데이터형: single
| double
| uint8
| uint16
| uint32
| uint64
VariableUnitsLine
— 변수 단위 위치0
(디폴트 값) | 양의 정수 스칼라변수 단위 위치로, 양의 정수 스칼라로 지정됩니다. VariableUnitsLine
속성은 변수 단위가 위치하는 라인 번호를 지정합니다.
VariableUnitsLine
이 0으로 지정된 경우 변수 단위를 가져오지 않습니다. 그렇지 않은 경우, 지정된 라인에서 변수 단위를 가져옵니다.
예: opts.VariableUnitsLine = 8;
데이터형: single
| double
| uint8
| uint16
| uint32
| uint64
Whitespace
— 공백으로 처리할 문자공백으로 처리할 문자로, 하나 이상의 문자를 포함하는 문자형 벡터 또는 string형 스칼라로 지정됩니다.
예: 'Whitespace',' _'
예: 'Whitespace','?!.,'
LineEnding
— 라인 끝(EOL) 문자{'\n','\r','\r\n'}
(디폴트 값) | 문자형 벡터 | string형 스칼라 | 문자형 벡터로 구성된 셀형 배열 | string형 배열라인 끝(EOL) 문자로, 문자형 벡터, string형 스칼라, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정됩니다.
예: 'LineEnding','\n'
예: 'LineEnding','\r\n'
예: 'LineEnding',{'\b',':'}
데이터형: char
| string
| cell
CommentStyle
— 주석 스타일주석 스타일로, 문자형 벡터, string형 스칼라, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정됩니다.
예를 들어, CommentStyle
을 '%'
로 지정하면 동일한 라인에 있는 퍼센트 기호 다음의 텍스트가 무시됩니다.
예: 'CommentStyle',{'/*'}
데이터형: char
| string
| cell
Encoding
— 문자 인코딩 체계'system'
| 'UTF-8'
| 'ISO-8859-1'
| 'windows-1251'
| 'windows-1252'
| ...파일과 연결된 문자 인코딩 체계로, 'Encoding'
과 함께 'system'
또는 다음 표에 있는 표준 문자 인코딩 체계 이름이 쉼표로 구분되어 지정됩니다.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
예: 'Encoding','system'
은 시스템 디폴트 인코딩을 사용합니다.
데이터형: char
| string
PartialFieldRule
— 부분 필드를 처리하는 절차'keep'
| 'fill'
| 'omitrow'
| 'omitvar'
| 'wrap'
| 'error'
데이터의 부분 필드를 처리하는 절차로, 다음 표에 있는 값 중 하나로 지정됩니다.
부분 필드 규칙 | 동작 |
---|---|
'keep' | 부분 필드 데이터를 유지하고 텍스트를 적절한 데이터형으로 변환합니다. 경우에 따라 가져오기 함수가 부분 데이터를 해석하지 못할 때 변환 오류가 발생할 수 있습니다. |
'fill' | 누락된 데이터를
|
'omitrow' | 부분 데이터가 들어 있는 행을 생략합니다. |
'omitvar' | 부분 데이터가 들어 있는 변수를 생략합니다. |
'wrap' | 다음 문자 라인을 읽습니다. |
'error' | 오류 메시지를 표시하고 가져오기 작업을 중단합니다. |
예: opts.PartialFieldRule = 'keep';
데이터형: char
| string
EmptyLineRule
— 빈 라인을 처리하는 절차'skip'
| 'read'
| 'error'
데이터의 빈 라인을 처리하는 절차로, 'skip'
, 'read'
또는 'error'
로 지정됩니다. 가져오기 함수는 공백을 빈 것으로 해석합니다.
빈 라인 규칙 | 동작 |
---|---|
'skip' | 빈 라인을 건너뜁니다. |
'read' | 빈 라인을 가져옵니다. 가져오기 함수는 VariableWidths , VariableOptions , MissingRule 과 기타 관련 속성(예: Whitespace )에 지정된 값을 사용하여 빈 라인을 구문 분석합니다. |
'error' | 오류 메시지를 표시하고 가져오기 작업을 중단합니다. |
예: opts.EmptyLineRule = 'skip';
데이터형: char
| string
MissingRule
— 누락된 데이터를 관리하는 방법'fill'
| 'error'
| 'omitrow'
| 'omitvar'
누락된 데이터를 관리하는 방법으로, 다음 표에 있는 값 중 하나로 지정됩니다.
누락 규칙 | 동작 |
---|---|
'fill' | 누락된 데이터를
|
'error' | 가져오기를 중지하고 누락된 레코드와 필드를 보여주는 오류 메시지를 표시합니다. |
'omitrow' | 누락된 데이터가 포함된 행을 생략합니다. |
'omitvar' | 누락된 데이터가 포함된 변수를 생략합니다. |
예: opts.MissingRule = 'omitrow';
uint32
데이터형: char
| string
ImportErrorRule
— 가져오기 오류를 처리하는 절차'fill'
| 'error'
| 'omitrow'
| 'omitvar'
가져오기 오류를 처리하는 절차로, 다음 표에 있는 값 중 하나로 지정됩니다.
가져오기 오류 규칙 | 동작 |
---|---|
'fill' | 오류가 발생한 데이터를
|
'error' | 가져오기를 중지하고 오류를 일으킨 레코드와 필드를 보여주는 오류 메시지를 표시합니다. |
'omitrow' | 오류가 발생한 행을 생략합니다. |
'omitvar' | 오류가 발생한 변수를 생략합니다. |
예: opts.ImportErrorRule = 'omitvar';
데이터형: char
| string
ExtraColumnsRule
— 추가 열을 처리하는 절차'addvars'
| 'ignore'
| 'wrap'
| 'error'
데이터의 추가 열을 처리하는 절차로, 다음 표에 있는 값 중 하나로 지정됩니다.
추가 열 규칙 | 동작 |
---|---|
'addvars' | 추가 열을 가져오기 위해 새 변수를 생성합니다. 참고: 추가 열은 |
'ignore' | 데이터의 추가 열을 무시합니다. |
'wrap' | 새 레코드로 데이터의 추가 열을 줄 바꿈합니다. 이 동작을 수행해도 변수의 개수는 변경되지 않습니다. |
'error' | 오류 메시지를 표시하고 가져오기 작업을 중단합니다. |
데이터형: char
| string
getvaropts | 변수에 대한 가져오기 옵션 가져오기 |
setvaropts | 변수에 대한 가져오기 옵션 설정 |
setvartype | 변수 데이터형 설정 |
preview | 가져오기 옵션을 사용하여 파일에서 8개 행 미리보기 |
서식 지정된 고정 너비 텍스트 파일을 검토하고, import options 객체를 초기화하고, 해당 객체를 사용하여 텍스트 파일에서 테이블을 가져옵니다.
고정 너비 텍스트 파일 불러오고 미리보기
파일 fixed_width_patients_subset_perfect.txt
를 불러오고 텍스트 편집기에서 파일 내용을 미리 봅니다. 아래 스크린샷은 서식 지정된 고정 너비 데이터가 들어 있는 파일을 보여 줍니다.
filename = fullfile(matlabroot,'examples','matlab','fixed_width_patients_subset_perfect.txt');
고정 너비 파일의 속성을 검토하고 추출하기
아래 고정 너비 텍스트 파일에는 시작 위치, 변수의 개수, 변수 이름, 변수 너비로 구성된 테이블 형식 데이터가 있습니다. 이러한 속성, 그리고 변수에 사용하려는 데이터형을 캡처합니다.
DataStartLine = 2; NumVariables = 7; VariableNames = {'LastName','Gender','Age','Location','Height',... 'Weight','Smoker'}; VariableWidths = [ 10, 7, 4, 26, 7, ... 7, 7 ] ; DataType = {'char','categorical','double','char','double',... 'double','logical'};
FixedWidthImportOptions
객체를 초기화하고 구성하기
FixedWidthImportOptions
객체를 초기화하고 fixed_width_patients_subset_perfect.txt
의 데이터 속성과 일치하도록 이 객체의 속성을 구성합니다.
opts = fixedWidthImportOptions('NumVariables',NumVariables,... 'DataLines',DataStartLine,... 'VariableNames',VariableNames,... 'VariableWidths',VariableWidths,... 'VariableTypes',DataType);
테이블 가져오기
FixedWidthImportOptions
객체를 readtable
에 인수로 사용하여 테이블을 가져옵니다.
T = readtable(filename,opts)
T=10×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
'Brown' Female 49 'County General Hospital' 64 119 false
'Miller' Female 33 'VA Hospital' 64 142 true
'Wilson' Male 40 'VA Hospital' 68 180 false
'Taylor' Female 31 'County General Hospital' 66 132 false
'Thomas' Female 42 'St. Mary's Medical Center' 66 137 false
'Jackson' Male 25 'VA Hospital' 71 174 false
'Clark' Female 48 'VA Hospital' 65 133 false
서식 지정된 고정 너비 텍스트 파일에서 정리되지 않은 데이터를 가져올 import options 객체를 정의합니다. 정리되지 않은 데이터를 처리하도록 이 객체를 구성하고 이 객체를 사용하여 테이블을 가져옵니다.
고정 너비 텍스트 파일 불러오고 미리보기
파일 fixed_width_patients_subset_messy.txt
를 불러오고 텍스트 편집기에서 파일 내용을 미리 봅니다. 아래에 스크린샷이 나와 있습니다. 이 스크린샷에서 파일에 다음이 포함되어 있음을 알 수 있습니다.
빈 라인 – 7번, 12번, 13번 라인
추가 열 – 8번 열
누락된 데이터 – 1번, 4번, 9번, 11번 라인
편미분 필드 – 마지막 3개 행
filename = fullfile(matlabroot,'examples','matlab','fixed_width_patients_subset_messy.txt');
고정 너비 파일의 속성 검토하고 캡처하기
아래 고정 너비 텍스트 파일에는 시작 위치, 변수의 개수, 변수 이름, 변수 너비를 기준으로 구성된 테이블 형식 데이터가 포함되어 있습니다. 이러한 속성, 그리고 변수에 사용하려는 데이터형을 캡처합니다.
DataStartLine = 2; NumVariables = 7; VariableNames = {'LastName','Gender','Age','Location','Height',... 'Weight','Smoker'}; VariableWidths = [ 10, 7, 4, 26, 7, ... 7, 7 ] ; DataType = {'char','categorical','double','char','double',... 'double','logical'};
FixedWidthImportOptions
객체를 초기화하고 변수 속성 설정하기
FixedWidthImportOptions
객체를 초기화하고 데이터 속성과 일치하도록 이 객체의 속성을 구성합니다.
opts = fixedWidthImportOptions('NumVariables',NumVariables,... 'DataLines',DataStartLine,... 'VariableNames',VariableNames,... 'VariableWidths',VariableWidths,... 'VariableTypes',DataType);
EmptyLinesRule
, Missing Rule
과 ExtraColumnsRule
설정하기
EmptyLineRule
을 'read'
로 설정하여 데이터에서 빈 라인을 읽습니다. 다음으로, MissingRule
을 'fill'
로 설정하여 누락된 인스턴스에 미리 정의된 값을 채웁니다. 마지막으로, 가져오기를 실행하는 동안 추가 열을 무시하도록 ExtraColumnsRule
을 'ignore'
로 설정합니다. 속성과 그 값에 대한 자세한 내용은 FixedWidthImportOptions
도움말 문서를 참조하십시오.
opts.EmptyLineRule = 'read'; opts.MissingRule = 'fill'; opts.ExtraColumnsRule ='ignore';
PartialFieldRule
설정하기
부분 필드는 전체 변수 너비를 훑기 전에 가져오기 함수가 라인 끝(EOL) 문자에 도달할 때 발생합니다. 아래 미리보기에서 파일 fixed_width_patients_subset_messy.txt
의 마지막 3개 행을 예로 들 수 있습니다. 여기서는 마지막 열의 마지막 행에서 라인 끝(EOL) 문자가 전체 변수 너비인 3에 도달하기 전에 필드 시작 지점으로부터 두 자리 뒤에 표시됩니다.
이 부분 필드가 발생하면 오류가 나타날 수 있습니다. 따라서 PartialFieldRule
을 사용하여 이 데이터를 어떻게 처리할지를 결정하십시오. 부분 필드 데이터를 유지하고 적절한 데이터형으로 변환하려면 PartialFieldRule
을 'keep'
으로 설정하십시오. PartialFieldRule
에 대한 자세한 내용은 FixedWidthImportOptions
도움말 문서를 참조하십시오.
opts.PartialFieldRule = 'keep';
테이블 가져오기
readtable
함수와 FixedWidthImportOptions
객체를 사용하여 테이블을 가져오고 데이터를 미리 봅니다.
T = readtable(filename,opts)
T=15×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' NaN NaN false
'Jones' Female 40 'VA Hospital' 67 133 false
'Brown' Female 49 'County General Hospital' 64 119 false
'' <undefined> NaN '' NaN NaN false
'Wilson' Male 40 'VA Hospital' 68 180 false
'Moore' Male 28 'St. Mary's Medical Center' NaN 183 false
'Taylor' Female 31 'County General Hospital' 66 132 false
'Anderson' Female 45 'County General Hospital' 68 NaN false
'' <undefined> NaN '' NaN NaN false
'' <undefined> NaN '' NaN NaN false
'White' Male 39 'VA Hospital' 72 2 false
'Harris' Female 36 'St. Mary's Medical Center' 65 12 false
'Martin' Male 48 'VA Hospital' 71 181 true
A modified version of this example exists on your system. Do you want to open this version instead? (ko_KR)
아래 MATLAB 명령에 해당하는 링크를 클릭하셨습니다.
이 명령을 MATLAB 명령 창에 입력해 실행하십시오. 웹 브라우저에서는 MATLAB 명령을 지원하지 않습니다.
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
Select web siteYou can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.