Main Content

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

tabularTextDatastore

테이블 형식 텍스트 파일의 데이터저장소

설명

메모리에 맞지 않을 수 있는 열 방향 또는 테이블 형식 데이터가 포함된 대규모 텍스트 파일 모음을 관리하기 위해 TabularTextDatastore 객체를 사용합니다. 테이블 형식 데이터는 사각형 모양으로 정렬된 데이터로서 각 행의 요소 개수가 동일합니다. tabularTextDatastore 함수를 사용하여 TabularTextDatastore 객체를 만들고 그 속성을 지정한 다음, 객체 함수를 사용하여 데이터를 가져오고 처리할 수 있습니다.

생성

설명

ttds = tabularTextDatastore(location)location으로 지정된 데이터의 모음으로부터 데이터저장소를 만듭니다.

ttds = tabularTextDatastore(location,Name,Value)는 하나 이상의 이름-값 쌍의 인수를 사용하여 ttds에 대한 추가 파라미터와 속성을 지정합니다. 예를 들어, tabularTextDatastore(location,"FileExtensions",[".txt",".csv"])location에 있고 확장자가 .txt.csv인 파일에서만 데이터저장소를 만듭니다.

예제

입력 인수

모두 확장

데이터저장소에 포함할 파일 또는 폴더로, FileSet 객체, 파일 경로 또는 DsFileSet 객체로 지정됩니다.

  • FileSet 객체 — locationFileSet 객체로 지정할 수 있습니다. 위치를 FileSet 객체로 지정하면 경로나 DsFileSet 객체로 지정하는 경우보다 데이터저장소 생성 시간이 빨라집니다. 자세한 내용은 matlab.io.datastore.FileSet 항목을 참조하십시오.

  • 파일 경로 — 문자형 벡터나 string형 스칼라로 하나의 파일 경로를 지정할 수 있습니다. 여러 개의 파일 경로는 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정하면 됩니다.

  • DsFileSet 객체 — DsFileSet 객체를 지정할 수 있습니다. 자세한 내용은 matlab.io.datastore.DsFileSet을 참조하십시오.

파일이나 폴더는 로컬 또는 원격이 될 수 있습니다.

  • 로컬 파일 또는 폴더 — 파일 또는 폴더의 로컬 경로를 지정합니다. 파일이 현재 폴더에 없는 경우 전체 경로나 상대 경로를 지정합니다. 지정된 폴더의 하위 폴더 내에 있는 파일은 데이터저장소에 자동으로 포함되지 않습니다. 로컬 경로를 지정할 때에는 와일드카드 문자(*)를 사용할 수 있습니다. 이 문자는 모든 일치하는 파일 또는 일치하는 폴더의 모든 파일을 데이터저장소에 포함하도록 지정합니다.

  • 원격 파일 또는 폴더 — hdfs:///path_to_file 형식의 URL(Uniform Resource Locator)을 사용하여 원격 파일 또는 폴더의 전체 경로로 지정합니다. 자세한 내용은 원격 데이터로 작업하기 항목을 참조하십시오.

폴더를 지정하면 데이터저장소는 지원되는 파일 형식의 파일만 포함하며 그 외 다른 형식의 파일은 무시합니다. 데이터저장소에 포함할 파일 확장자 목록을 사용자 지정하려면 FileExtensions 속성을 참조하십시오.

tabularTextDatastore 함수는 확장자가 .txt, .csv, .dat, .dlm, .asc, .text인 파일뿐만 아니라 확장자가 없는 파일도 지원합니다.

예: "file1.csv"

예: "../dir/data/file1"

예: ["C:\dir\data\file1.csv","C:\dir\data\file2.dat"]

예: "C:\dir\data\*.text"

이름-값 인수

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

예: ttds = tabularTextDatastore("C:\dir\textdata","FileExtensions",[".csv",".txt"])

텍스트 파일 확장자로, "FileExtensions"와 함께 문자형 벡터, 문자형 벡터로 구성된 셀형 배열, string형 스칼라 또는 string형 배열이 쉼표로 구분되어 지정됩니다. 지정한 확장자가 반드시 지원되는 형식 중 하나일 필요는 없습니다. 지원되지 않는 확장자를 포함하려면 모든 확장자를 지정하십시오. 빈 따옴표 ""를 사용하면 확장자 없이 파일을 나타낼 수 있습니다.

예: "FileExtensions",".txt"

예: "FileExtensions",[".text",".csv"]

데이터형: char | cell | string

하위 폴더 포함 플래그로, "IncludeSubfolders"와 함께 true, false, 0 또는 1로 구성된 이름-값 인수로 지정됩니다. 각 폴더 내에 있는 모든 파일과 하위 폴더를 포함하려면 true를 지정하고, 각 폴더 내에 있는 파일만 포함하려면 false를 지정하십시오.

"IncludeSubfolders"를 지정하지 않으면 디폴트 값 false로 지정됩니다.

예: "IncludeSubfolders",true

데이터형: logical | double

출력 데이터형으로, "OutputType"과 함께 다음 값 중 하나로 구성된 이름-값 인수로 지정됩니다.

  • "auto""RowTimes" 이름-값 인수가 지정되었는지 여부에 따라 데이터저장소의 출력값이 table형과 timetable형 중 어느 것이어야 하는지 감지합니다. "RowTimes"를 지정할 경우 출력값은 timetable형이고, 지정하지 않을 경우 출력값은 table형입니다.

  • "table"table형을 반환합니다.

  • "timetable"timetable형을 반환합니다.

OutputType의 값은 preview, read, readall 함수가 반환하는 데이터형을 결정합니다. 이 옵션을 "RowTimes" 이름-값 쌍과 함께 사용하여 TabularTextDatastore에서 타임테이블을 반환할 수 있습니다.

예: "OutputType","timetable"

데이터형: char | string

파일 시스템 루트 경로의 대체 경로로, "AlternateFileSystemRoots"와 함께 string형 벡터 또는 셀형 배열로 구성된 이름-값 인수로 지정됩니다. 로컬 컴퓨터에 데이터저장소를 만들지만 다른 컴퓨터(다른 운영 체제의 컴퓨터일 수 있음)의 데이터에 액세스하고 이를 처리해야 하는 경우 "AlternateFileSystemRoots"를 사용합니다. 또한 Parallel Computing Toolbox™와 MATLAB® Parallel Server™를 사용하여 데이터를 처리하고, 처리한 데이터를 다른 플랫폼 클라우드 또는 다른 클러스터 컴퓨터에 있는 데이터의 복사본과 함께 로컬 컴퓨터에 저장할 경우 "AlternateFileSystemRoots"를 사용하여 루트 경로를 연결해야 합니다.

  • 실질적으로 서로 동일한 루트 경로들의 집합을 연결하려면 "AlternateFileSystemRoots"를 string형 벡터로 지정하십시오. 예를 들면 다음과 같습니다.

    ["Z:\datasets","/mynetwork/datasets"]

  • 데이터저장소에 대한 실질적으로 동일한 여러 루트 경로의 집합을 여러 개 연결하려면 "AlternateFileSystemRoots"를 여러 행이 포함된 셀형 배열로 지정하십시오. 여기서 각 행은 실질적으로 동일한 루트 경로들의 집합 하나를 나타냅니다. 셀형 배열의 각 행을 string형 벡터 또는 문자형 벡터로 구성된 셀형 배열로 지정합니다. 예를 들면 다음과 같습니다.

    • "AlternateFileSystemRoots"를 string형 벡터로 구성된 셀형 배열로 지정합니다.

      {["Z:\datasets", "/mynetwork/datasets"];...
       ["Y:\datasets", "/mynetwork2/datasets","S:\datasets"]}

    • 또는 "AlternateFileSystemRoots"를 문자형 벡터로 구성된 셀형 배열로 지정합니다.

      {{'Z:\datasets','/mynetwork/datasets'};...
       {'Y:\datasets', '/mynetwork2/datasets','S:\datasets'}}

"AlternateFileSystemRoots"의 값은 다음 조건을 충족해야 합니다.

  • 하나 이상의 행을 포함합니다. 여기서 각 행은 실질적으로 동일한 여러 루트 경로를 지정합니다.

  • 각 행은 여러 개의 루트 경로를 지정하고, 각 루트 경로는 적어도 두 개의 문자를 포함해야 합니다.

  • 루트 경로는 고유하며 서로의 하위 폴더가 아닙니다.

  • 파일의 위치를 가리키는 적어도 하나의 루트 경로 항목을 포함합니다.

자세한 내용은 Set Up Datastore for Processing on Different Machines or Clusters 항목을 참조하십시오.

예: ["Z:\datasets","/mynetwork/datasets"]

데이터형: string | cell

텍스트 변수의 출력 데이터형으로, "TextType"과 함께 "char"이나 "string"이 쉼표로 구분되어 지정됩니다. read, readall, preview 함수 중 하나의 출력 테이블에 텍스트 변수가 포함된 경우 "TextType"TabularTextDatastore에 대해 이러한 변수의 데이터형을 지정합니다. "TextType""char"인 경우 출력값은 문자형 벡터로 구성된 셀형 배열입니다. "TextType""string"인 경우 출력값은 string형입니다.

데이터형: char | string

가져오는 날짜/시간 데이터의 유형으로, "DatetimeType"과 함께 "datetime"이나 "text" 값 중 하나가 쉼표로 구분되어 지정됩니다.

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

MATLAB datetime 데이터형

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

"text"

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

  • "TextType""char"인 경우 tabularTextdatastore는 날짜를 문자형 벡터로 구성된 셀형 배열로 가져옵니다.

  • "TextType""string"인 경우 tabularTextdatastore는 날짜를 string형 배열로 가져옵니다.

지정된 TextscanFormats 속성에 %D가 포함된 경우 tabularTextdatastoreDatetimeType에 지정된 값을 무시합니다.

예: "DatetimeType","datetime"

데이터형: char | string

duration형 데이터의 출력 데이터형으로, "DurationType"과 함께 "duration"이나 "text"로 구성된 이름-값 인수로 지정됩니다.

가져온 지속 시간 데이터의 유형
"duration"

MATLAB duration 데이터형

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

"text"

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

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

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

데이터형: char | string

날짜를 해석하는 데 사용할 로캘로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. DatetimeLocale 값은 가져오기 함수가 날짜/시간을 나타내는 텍스트를 해석하는 방법을 결정합니다.

DatetimeLocale을 지정할 때는 xx_YY 형식을 사용하십시오. 여기서 xx는 언어를 지정하는 ISO 639-1 두 자리 코드(소문자)이고, YY는 국가를 지정하는 ISO 3166-1 alpha-2 코드(대문자)입니다.

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

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

참고

Locale 값에 따라 입력값이 해석되는 방식이 결정됩니다. 표시 형식과 언어는 기본 설정 창의 날짜/시간 형식 섹션에 있는 로캘 옵션에 의해 지정됩니다. 디폴트 날짜/시간 로캘을 변경하려면 명령 창 기본 설정 지정하기 항목을 참조하십시오.

데이터형: char | string

이 이름-값 쌍 외에도, 이 페이지의 모든 속성(단, Files 속성은 제외)을 이름-값 쌍으로 지정할 수도 있습니다.

속성

모두 확장

TabularTextDatastore 속성은 TabularTextDatastore 객체와 연결된 파일을 설명합니다. 구체적으로, 이 속성은 파일에 있는 데이터의 형식을 설명하고 데이터저장소에서 데이터를 어떤 방식으로 읽어야 하는지 제어합니다. TabularTextDatastore 객체를 만들 경우, datastore 함수는 Files 속성의 첫 번째 파일을 사용하여 속성의 값을 결정합니다. Files 속성을 제외하고, datastore 객체를 만들 때 이름-값 쌍을 사용하여 TabularTextDatastore 속성의 값을 지정할 수 있습니다. 객체를 만든 후 속성을 보거나 수정하려면 점 표기법을 사용하십시오.

ds = tabularTextDatastore("airlinesmall.csv");
ds.TreatAsMissing = "NA";
ds.MissingValue = 0;

파일 속성

데이터저장소에 포함된 파일로, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 확인됩니다. 여기서 각 문자형 벡터 또는 string형은 파일에 대한 전체 경로입니다. tabularTextDatastoredatastore 함수의 location 인수는 이러한 파일을 정의합니다.

Files 속성으로 지정된 첫 번째 파일은 데이터저장소에 있는 모든 파일에 대한 변수 이름과 형식 정보를 결정합니다.

이 속성의 값을 변경하면 datastore 함수는 TabularTextDatastore 속성의 값을 다시 계산합니다.

예: {"C:\dir\data\mydata1.csv";"C:\dir\data\mydata2.csv"}

데이터형: cell | string

파일 인코딩으로, 다음 값 중 하나와 같은 문자형 벡터 또는 string형 스칼라로 지정됩니다.

"IBM866"

"ISO-8859-1"

"windows-847"

"KOI8-R"

"ISO-8859-2"

"windows-1250"

"KOI8-U"

"ISO-8859-3"

"windows-1251"

"Macintosh"

"ISO-8859-4"

"windows-1252"

"US-ASCII"

"ISO-8859-5"

"windows-1253"

"UTF-8"

"ISO-8859-6"

"windows-1254"

 

"ISO-8859-7"

"windows-1255"

 

"ISO-8859-8"

"windows-1256"

 

"ISO-8859-9"

"windows-1257"

 

"ISO-8859-11"

"windows-1258"

 

"ISO-8859-13"

 
 

"ISO-8859-15"

 

데이터저장소에 있는 각 파일이 메모리에 맞을 경우 FileEncoding은 다음 값 중 하나일 수 있습니다.

"Big5"

"EUC-KR"

"GB18030"

"Shift_JIS"

"Big5-HKSCS"

"EUC-JP"

"GB2312"

"windows-949"

"CP949"

"EUC-TW"

"GBK"

 

이 속성의 값을 변경하면 datastore 함수는 TabularTextDatastore 속성의 값을 다시 계산합니다.

데이터형: char | string

변수 이름을 읽을지 여부로, 논리형 true 또는 false로 지정됩니다.

  • 지정되지 않은 경우 tabularTextDatastore 함수는 변수 이름이 있는지 자동으로 검색합니다.

  • true인 경우 첫 번째 파일에 있는, 제목이 아닌 첫 번째 행은 데이터에 대한 변수 이름을 지정합니다.

  • false인 경우 첫 번째 파일에 있는, 제목이 아닌 첫 번째 행은 데이터의 첫 번째 행을 포함합니다. 디폴트 변수 이름인 Var1, Var2 등이 데이터에 할당됩니다.

이 속성의 값을 변경하면 datastore 함수는 TabularTextDatastore 속성의 값을 다시 계산합니다.

데이터형: logical

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

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

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

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

데이터형: char | string

데이터저장소에 있는 변수 이름으로, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정됩니다. 파일에 나타나는 순서대로 변수 이름을 지정하십시오. 변수 이름을 지정하지 않으면 데이터저장소의 첫 번째 파일에 있는, 제목이 아닌 첫 번째 라인에서 변수 이름이 검색됩니다. VariableNames 속성을 수정할 경우, 새 변수 이름의 개수는 원본 변수 이름의 개수와 일치해야 합니다.

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

ReadVariableNamesfalse인 경우 VariableNames는 디폴트 값 {"Var1","Var2", ...}로 설정됩니다.

예: {"Time","Name","Quantity"}

데이터형: cell | string

텍스트 형식 속성

파일의 시작 부분에서 건너뛸 라인 수로, 음이 아닌 정수로 지정됩니다. 지정하지 않으면 tabularTextDatastore 함수는 건너뛸 라인 수를 자동으로 감지합니다.

tabularTextDatastore 함수는 변수 이름이나 데이터를 읽기 전에 지정된 개수의 제목 라인을 무시합니다.

이 속성의 값을 변경하면 datastore 함수는 TabularTextDatastore 속성의 값을 다시 계산합니다.

데이터형: double

필드 구분 기호 문자로, 문자형 벡터, 문자형 벡터로 구성된 셀형 배열, string형 스칼라 또는 string형 배열로 지정됩니다. 여러 개의 구분 기호는 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정합니다. 지정하지 않으면 tabularTextDatastore 함수는 구분 기호를 자동으로 감지합니다.

예: "|"

예: {";","*"}

파일 내의 반복된 구분 기호 문자는 빈 필드가 사이에 있는 개별 구분 기호로 해석됩니다. 지정하지 않으면, 기본적으로 read 함수가 구분 기호를 자동으로 감지합니다.

다음 이스케이프 시퀀스 중 하나를 구분 기호로 지정할 경우, 해당 시퀀스는 대응하는 제어 문자로 변환됩니다.

\b백스페이스
\n새 줄(Newline)
\r캐리지 리턴
\t
\\백슬래시(\)

이 속성의 값을 변경하면 datastore 함수는 TabularTextDatastore 속성의 값을 다시 계산합니다.

데이터형: char | cell | string

행 구분 기호 문자로, 단일 문자이거나 "\r", "\n", "\r\n" 중 하나여야 하는 문자형 벡터나 string형 스칼라로 지정됩니다.

이 속성의 값을 변경하면 datastore 함수는 TabularTextDatastore 속성의 값을 다시 계산합니다.

예: ":"

데이터형: char | string

누락값으로 처리할 텍스트로, 단일 문자형 벡터, 문자형 벡터로 구성된 셀형 배열, string형 스칼라 또는 string형 배열로 지정됩니다. TreatAsMissing으로 지정된 값은 MissingValue 속성에 정의된 값으로 대체됩니다. 예를 들어, MissingValueNaN으로 정의된 경우 TreatAsMissing"NA"로 지정됩니다. 그런 다음 가져온 데이터에서 나타나는 모든 "NA"NaN으로 대체됩니다.

이 옵션은 숫자형 필드에만 적용됩니다. 또한, 이 속성은 textscan 함수에 대한 TreatAsEmpty 이름-값 쌍 인수와 동일합니다.

이 속성의 값을 변경하면 datastore 함수는 TabularTextDatastore 속성의 값을 다시 계산합니다.

예: "NA"

예: {"-",""}

데이터형: char | cell | string

구분된 텍스트 파일 내의 누락된 숫자형 필드로, 스칼라로 지정됩니다. 이 속성은 textscan 함수에 대한 EmptyValue 이름-값 쌍 인수와 동일합니다.

데이터형: double

고급 텍스트 형식 속성

데이터 필드 형식으로, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정됩니다. 여기서 각 문자형 벡터 또는 string형에는 한 가지 변환 지정자가 포함됩니다.

TextscanFormats 속성을 지정하거나 수정할 경우, textscan 함수가 formatSpec 인수를 받을 때와 동일한 변환 지정자를 사용할 수 있습니다. TextscanFormats의 유효한 값에는 별표(*) 문자를 사용하여 필드를 건너뛰는 변환 지정자와 리터럴 텍스트를 건너뛰는 변환 지정자가 포함됩니다. 변환 지정자의 개수는 VariableNames 속성에 있는 변수의 개수와 일치해야 합니다.

  • TextscanFormats의 값에 별표 문자(*)를 사용하여 필드를 건너뛰는 변환 지정자가 포함된 경우, SelectedVariableNames 속성의 값이 자동으로 업데이트됩니다. MATLAB은 %*q 변환 지정자를 사용하여 SelectedVariableNames 속성에 의해 생략된 필드를 건너뛰며, 필드 내용을 리터럴 문자형 벡터로 처리합니다. 고정 너비 파일의 경우, 필드 너비에 따라 적절한 변환 지정자를 사용하여 건너뛴 필드를 나타냅니다. 예를 들어, %*52c는 52자가 포함된 필드를 건너뜁니다.

  • TextscanFormats의 값을 지정하지 않을 경우 datastore는 데이터저장소의 첫 번째 파일에 있는, 제목이 아닌 첫 번째 라인에서 텍스트를 검색하여 데이터 필드의 형식을 지정합니다.

  • R2020b부터 datastore는 접두사가 추가된 리터럴을 16진수 데이터와 2진수 데이터로 감지합니다. 이전 릴리스에서는 datastore가 접두사가 추가된 리터럴을 텍스트 데이터로 감지했습니다.

예: {"%s","%s","%f"}

데이터형: cell | string

지수 문자로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. 디폴트 지수 문자는 e, E, d, D입니다.

데이터형: char | string

파일에서 주석을 구분하는 데 사용되는 주석 문자로, 문자형 벡터 또는 string형 스칼라로 지정되거나 요소를 2개 가진 문자열 또는 셀형 배열로 지정됩니다.

  • 문자형 벡터 또는 string형 스칼라를 지정하면 동일한 라인에서 주석 문자 뒤에 오는 모든 텍스트가 주석으로 해석됩니다. 예를 들어, "CommentStyle","/*"는 동일한 라인에서 /* 뒤에 오는 모든 텍스트를 주석으로 해석합니다.

  • 요소를 2개 가진 string형 벡터 또는 문자형 벡터 요소를 2개 가진 셀형 배열을 지정하면 두 문자 사이의 모든 텍스트가 주석으로 해석됩니다. 예를 들어, "CommentStyle",{"/*", "*/"}"/*""*/" 사이의 모든 텍스트를 주석으로 해석합니다.

TabularTextDatastore에서 읽을 경우, read 함수는 필드 내부가 아니라 각 필드의 시작 부분에서만 주석을 확인합니다.

이 속성의 값을 변경하면 datastore 함수는 TabularTextDatastore 속성의 값을 다시 계산합니다.

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

데이터형: char | cell | string

공백 문자로, 하나 이상의 문자로 구성된 문자형 벡터 또는 string형 스칼라로 지정됩니다.

다음 이스케이프 시퀀스 중 하나를 공백 문자로 지정할 경우, datastore 함수는 해당 시퀀스를 대응하는 제어 문자로 변환합니다.

\b백스페이스
\n새 줄(Newline)
\r캐리지 리턴
\t
\\백슬래시(\)

이 속성의 값을 변경하면 datastore 함수는 TabularTextDatastore 속성의 값을 다시 계산합니다.

예: " \b\t"

데이터형: char | string

여러 개의 구분 기호를 처리하는 방식으로, true 또는 false로 지정됩니다. true인 경우, datastore는 연속된 구분 기호를 단일 구분 기호로 취급합니다. 공백으로 구분된 반복 구분 기호도 단일 구분 기호로 취급됩니다.

이 속성의 값을 변경하면 datastore 함수는 TabularTextDatastore 속성의 값을 다시 계산합니다.

preview, read, readall 테이블에 대한 속성

파일에서 읽을 변수로, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정됩니다. 여기서 각 문자형 벡터 또는 string형에는 변수 하나의 이름이 포함됩니다. 변수 이름은 임의의 순서로 지정할 수 있습니다.

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

예: ["Var3","Var7","Var4"]

데이터형: cell | string

선택된 읽을 변수의 형식으로, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정됩니다. 여기서 각 문자형 벡터 또는 string형에는 변환 지정자 하나가 포함됩니다. 읽을 변수는 SelectedVariableNames 속성으로 표시됩니다. SelectedFormats의 문자형 벡터 또는 string형의 개수는 읽을 변수의 개수와 일치해야 합니다.

textscan 함수가 받는 것과 동일한 변환 지정자를 사용할 수 있습니다(리터럴 텍스트를 건너뛰는 지정자 포함). 그러나 필드를 건너뛰는 변환 지정자는 사용할 수 없습니다. 즉, 변환 지정자는 별표 문자(*)를 포함할 수 없습니다.

예: ["%d","%d"]

데이터형: cell | string

read 함수 호출 시 읽을 데이터의 양으로, 양의 스칼라 또는 "file"로 지정됩니다.

  • ReadSize가 양의 정수인 경우, read를 호출할 때마다 최대 ReadSize만큼의 행을 읽습니다.

  • ReadSize"file"인 경우, read를 호출할 때마다 한 파일의 모든 데이터를 읽습니다.

ReadSize를 숫자형 스칼라에서 "file"로 변경하거나 이와 반대로 변경할 경우, MATLAB은 데이터저장소를 아무 데이터도 읽지 않은 상태로 재설정합니다.

데이터형: double | char | string

텍스트 변수의 출력 데이터형으로, "char" 또는 "string"으로 지정됩니다. TextType%s, %q 또는 [...] 등을 사용하여 텍스트 변수의 데이터형을 형식 지정합니다.

  • TextType"char"인 경우 출력값은 문자형 벡터로 구성된 셀형 배열입니다.

  • TextType"string"인 경우 출력값은 string형입니다.

데이터형: char | string

행 시간값 변수의 이름으로, "RowTimes"와 함께 변수 이름(예: "Date") 또는 변수 인덱스(예: 3)로 구성된 이름-값 인수로 지정됩니다.

RowTimes는 타임테이블 관련 파라미터입니다. 타임테이블의 각 행에는 연관된 시간이 있으며, 이 시간은 타임테이블의 시간 벡터에 캡처됩니다. RowTimes에 지정된 변수는 datetime 또는 duration 벡터를 포함해야 합니다.

"OutputType"의 값이 "timetable"인데 "RowTimes"를 지정하지 않은 경우, TabularTextDatastore 객체는 첫 번째 datetime형 또는 duration형 변수를 타임테이블의 행 시간값으로 사용합니다.

writeall이 사용하는 속성

읽기 전용 속성입니다.

데이터저장소를 생성하는 데 사용된 폴더로, 문자형 벡터로 구성된 셀형 배열로 반환됩니다. 셀형 배열은 열 벡터로 방향이 설정됩니다. 각 문자형 벡터는 데이터 파일을 포함하는 폴더의 경로입니다. 데이터저장소를 만들 때 tabularTextDatastore 함수와 datastore 함수에 지정되는 location 인수에 따라 Folders가 정의됩니다.

TabularTextDatastore 객체의 Files 속성을 수정하면 Folders 속성이 재설정됩니다.

데이터형: cell

읽기 전용 속성입니다.

쓰기가 지원되는 형식으로, string형으로 구성된 행 벡터로 반환됩니다. 이 속성은 writeall을 사용하여 데이터저장소에서 출력 파일을 쓸 때 가능한 출력 형식을 지정합니다.

읽기 전용 속성입니다.

디폴트 출력 형식으로, string형 스칼라로 반환됩니다. 이 속성은 writeall을 사용하여 데이터저장소에서 출력 파일을 쓸 때의 디폴트 형식을 지정합니다.

데이터형: string

객체 함수

hasdata데이터를 읽을 수 있는지 확인
numpartitions데이터저장소 파티션 개수
partition데이터저장소 파티셔닝
preview데이터저장소에 있는 데이터의 서브셋 미리보기
read데이터저장소의 데이터 읽어 들이기
readall데이터저장소의 모든 데이터 읽기
writeallWrite datastore to files
reset데이터저장소를 초기 상태로 재설정
transform데이터저장소 변환
combine여러 데이터저장소의 데이터 결합
isPartitionableDetermine whether datastore is partitionable
isSubsettableDetermine whether datastore is subsettable
isShuffleableDetermine whether datastore is shuffleable

예제

모두 축소

FileSet 객체 또는 파일 경로를 사용하여 샘플 파일 airlinesmall_subset.csv.에서 데이터저장소를 만들고 누락값을 처리하는 방법을 지정합니다. 필요한 변수만 선택합니다.

파일 airlinesmall_subset.csv에서 FileSet 객체를 만듭니다. "NA" 값을 누락된 것으로 취급하여 이러한 누락값을 0으로 처리하는 데이터저장소를 만듭니다.

fs = matlab.io.datastore.FileSet("airlinesmall_subset.csv");
ds = tabularTextDatastore(fs,"TreatAsMissing","NA",...
    "MissingValue",0);

데이터저장소에 있는 변수를 확인합니다.

ds.VariableNames
ans = 1x19 cell
    {'Year'}    {'Month'}    {'DayofMonth'}    {'DayOfWeek'}    {'DepTime'}    {'CRSDepTime'}    {'ArrTime'}    {'CRSArrTime'}    {'UniqueCarrier'}    {'FlightNum'}    {'TailNum'}    {'ActualElapsedTime'}    {'CRSElapsedTime'}    {'AirTime'}    {'ArrDelay'}    {'DepDelay'}    {'Origin'}    {'Dest'}    {'Distance'}

SelectedVariableNames 속성을 수정하여 필요한 변수를 지정합니다.

ds.SelectedVariableNames = ["Year","Month","TailNum"];

또는 데이터의 위치를 파일 경로로 지정할 수 있습니다.

ds = tabularTextDatastore("airlinesmall_subset.csv");

위치 형식을 사용하여 데이터저장소를 만들 때 필요한 변수를 지정할 수도 있습니다.

ds = tabularTextDatastore("airlinesmall_subset.csv","TreatAsMissing","NA",...
    "MissingValue",0,"SelectedVariableNames",["Year","Month","TailNum"]);

테이블 형식 데이터가 포함된 샘플 파일 airlinesmall_subset.csv에서 데이터저장소를 만듭니다.

ds = tabularTextDatastore("airlinesmall_subset.csv","TreatAsMissing","NA",...
    "MissingValue",0);

필요한 변수를 지정합니다.

ds.SelectedVariableNames = ["Year","Month","UniqueCarrier"];

SelectedFormats 속성을 확인합니다.

ds.SelectedFormats
ans = 1x3 cell
    {'%f'}    {'%f'}    {'%q'}

SelectedFormats 속성은 tabularTextDatastore 함수가 변수의 형식을 해석하는 방식을 지정합니다. Year 변수와 Month 변수는 부동소수점 값의 열로 읽히고, UniqueCarrier 변수는 텍스트의 열로 읽힙니다.

처음 두 개의 변수를 부호 있는 정수로 읽고 세 번째 변수를 categorical형 값으로 읽도록 SelectedFormats 속성을 수정합니다.

ds.SelectedFormats = ["%d","%d","%C"];

데이터를 미리 봅니다.

T = preview(ds)
T=8×3 table
    Year    Month    UniqueCarrier
    ____    _____    _____________

    1996      1           HP      
    1996      1           HP      
    1996      1           HP      
    1996      1           HP      
    1996      1           US      
    1996      1           US      
    1996      1           US      
    1996      1           NW      

OutputTypeRowTimes 이름-값 쌍을 사용하여 tabulartextDatastore가 테이블 대신 타임테이블을 반환하도록 만듭니다.

outages.csv에 대해 데이터저장소를 만듭니다. "OutputType" 이름-값 쌍을 "timetable"로 지정합니다.

ttds = tabularTextDatastore("outages.csv","OutputType","timetable");
preview(ttds)
ans=8×5 timetable
       OutageTime          Region         Loss     Customers     RestorationTime            Cause       
    ________________    _____________    ______    __________    ________________    ___________________

    2002-02-01 12:18    {'SouthWest'}    458.98    1.8202e+06    2002-02-07 16:50    {'winter storm'   }
    2003-01-23 00:49    {'SouthEast'}    530.14    2.1204e+05                 NaT    {'winter storm'   }
    2003-02-07 21:15    {'SouthEast'}     289.4    1.4294e+05    2003-02-17 08:14    {'winter storm'   }
    2004-04-06 05:44    {'West'     }    434.81    3.4037e+05    2004-04-06 06:10    {'equipment fault'}
    2002-03-16 06:18    {'MidWest'  }    186.44    2.1275e+05    2002-03-18 23:23    {'severe storm'   }
    2003-06-18 02:49    {'West'     }         0             0    2003-06-18 10:54    {'attack'         }
    2004-06-20 14:39    {'West'     }    231.29           NaN    2004-06-20 19:16    {'equipment fault'}
    2002-06-06 19:28    {'West'     }    311.86           NaN    2002-06-07 00:51    {'equipment fault'}

'RowTimes'를 함께 지정하지 않으면 tabularTextDatastore는 첫 번째 datetime형 또는 duration형 변수를 행 시간값으로 사용합니다. 여기서는 OutageTime 변수가 행 시간값으로 사용됩니다.

정전 시간이 아닌 복구 시간(RestorationTime 변수)을 행 시간값으로 사용하도록 'RowTimes' 옵션을 지정합니다.

ttds = tabularTextDatastore("outages.csv","OutputType","timetable","RowTimes","RestorationTime");
preview(ttds)
ans=8×5 timetable
    RestorationTime        Region           OutageTime        Loss     Customers            Cause       
    ________________    _____________    ________________    ______    __________    ___________________

    2002-02-07 16:50    {'SouthWest'}    2002-02-01 12:18    458.98    1.8202e+06    {'winter storm'   }
    NaT                 {'SouthEast'}    2003-01-23 00:49    530.14    2.1204e+05    {'winter storm'   }
    2003-02-17 08:14    {'SouthEast'}    2003-02-07 21:15     289.4    1.4294e+05    {'winter storm'   }
    2004-04-06 06:10    {'West'     }    2004-04-06 05:44    434.81    3.4037e+05    {'equipment fault'}
    2002-03-18 23:23    {'MidWest'  }    2002-03-16 06:18    186.44    2.1275e+05    {'severe storm'   }
    2003-06-18 10:54    {'West'     }    2003-06-18 02:49         0             0    {'attack'         }
    2004-06-20 19:16    {'West'     }    2004-06-20 14:39    231.29           NaN    {'equipment fault'}
    2002-06-07 00:51    {'West'     }    2002-06-06 19:28    311.86           NaN    {'equipment fault'}

제한 사항

  • en_US 로캘과 다른 언어로 된 요일, 월 이름 또는 표준 시간대 이름을 포함하는 datetime형 데이터는 지원되지 않습니다. 인식되지 않는 datetime형 형식의 경우 TextscanFormats 파라미터를 사용하여 형식을 지정하십시오.

버전 내역

R2014b에 개발됨