Main Content

writetimetable

파일에 타임테이블 쓰기

설명

예제

writetimetable(TT)는 타임테이블 TT를 쉼표로 구분된 텍스트 파일에 씁니다. 파일 이름은 타임테이블의 작업 공간 변수 이름으로, 확장자 .txt가 추가됩니다. writetimetable은 입력 타임테이블 이름에서 파일 이름을 생성할 수 없는 경우에는 파일 timetable.txt에 씁니다.

TT에 있는 변수의 각 열은 출력 파일의 열이 됩니다. TT의 변수 이름은 파일 첫 번째 행의 열 제목이 됩니다. writetimetable 함수는 기존 파일을 덮어씁니다.

예제

writetimetable(TT,filename)filename으로 지정된 이름과 확장자를 가진 파일에 씁니다.

writetimetable은 지정된 확장자에 따라 파일 형식을 결정합니다. 확장자는 다음 중 하나여야 합니다.

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

  • .xls, .xlsm, .xlsx - Excel® 스프레드시트 파일

  • .xlsb - Windows®용 Excel이 설치된 시스템에서 지원되는 Excel 스프레드시트 파일

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

예제

writetimetable(___,Name,Value)는 하나 이상의 Name,Value 쌍 인수로 지정된 추가 옵션을 사용하며, 위에 열거한 구문에 있는 어떤 입력 인수도 포함할 수 있습니다.

예를 들어, 변수 이름을 출력 파일의 열 제목으로 쓸 것인지 여부를 지정할 수 있습니다.

예제

모두 축소

타임테이블을 만들어 쉼표로 구분된 텍스트 파일에 쓴 다음, 다른 구분 기호 문자를 사용하여 타임테이블을 또 다른 텍스트 파일에 씁니다.

행 시간값 duration형 벡터 RowTimes를 사용하여 작업 공간에 타임테이블을 정의합니다.

RowTimes = seconds(1:5)';
TT = timetable(RowTimes,[98;97.5;97.9;98.1;97.9],[120;111;119;117;116],...
               'VariableNames',{'Reading1','Reading2'})
TT=5×2 timetable
    RowTimes    Reading1    Reading2
    ________    ________    ________

    1 sec           98        120   
    2 sec         97.5        111   
    3 sec         97.9        119   
    4 sec         98.1        117   
    5 sec         97.9        116   

타임테이블을 쉼표로 구분된 텍스트 파일에 쓰고 파일 내용을 표시합니다. writetimetable 함수가 텍스트 파일 TT.txt를 출력합니다.

writetimetable(TT)
type 'TT.txt'
RowTimes,Reading1,Reading2
1 sec,98,120
2 sec,97.5,111
3 sec,97.9,119
4 sec,98.1,117
5 sec,97.9,116

다른 구분 기호 문자를 사용하여 텍스트 파일에 동일한 타임테이블을 쓰려면 'Delimiter' 이름-값 쌍을 사용하십시오.

writetimetable(TT,'TT_bar.txt','Delimiter','bar')
type 'TT_bar.txt'
RowTimes|Reading1|Reading2
1 sec|98|120
2 sec|97.5|111
3 sec|97.9|119
4 sec|98.1|117
5 sec|97.9|116

타임테이블을 만들어 스프레드시트 파일에 쓴 다음 파일 내용을 표시합니다.

작업 공간에 행 시간값을 datetime 벡터로 가진 타임테이블을 정의합니다.

Y = [2014:2018]'; M = ones(5,1); D = ones(5,1);
RowTimes = datetime(Y,M,D); % Create Row Times
TT = timetable(RowTimes,[98;97.5;97.9;98.1;97.9],[120;111;119;117;116],...
               'VariableNames',{'Reading1','Reading2'})
TT=5×2 timetable
     RowTimes      Reading1    Reading2
    ___________    ________    ________

    01-Jan-2014        98        120   
    01-Jan-2015      97.5        111   
    01-Jan-2016      97.9        119   
    01-Jan-2017      98.1        117   
    01-Jan-2018      97.9        116   

테이블을 스프레드시트 파일 'TT.xlsx'에 씁니다. 기본적으로 writetimetable 함수는 파일의 첫 번째 워크시트를 씁니다. 'Sheet' 이름-값 쌍을 사용하여 쓸 워크시트를 지정합니다.

writetimetable(TT,'TT.xlsx','Sheet',2)

파일 내용을 읽고 표시합니다.

readtimetable('TT.xlsx','Sheet',2) 
ans=5×2 timetable
          RowTimes          Reading1    Reading2
    ____________________    ________    ________

    01-Jan-2014 00:00:00        98        120   
    01-Jan-2015 00:00:00      97.5        111   
    01-Jan-2016 00:00:00      97.9        119   
    01-Jan-2017 00:00:00      98.1        117   
    01-Jan-2018 00:00:00      97.9        116   

입력 인수

모두 축소

입력 타임테이블입니다.

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

쓰려는 위치에 따라 filename은 다음 형식 중 하나가 될 수 있습니다.

위치

형식

현재 폴더

현재 폴더에 쓰려면 filename에 파일의 이름을 지정하십시오.

예: 'myTextFile.csv'

다른 폴더

현재 폴더가 아닌 다른 폴더에 쓰려면 filename에 전체 경로 또는 상대 경로 이름을 지정하십시오.

예: 'C:\myFolder\myTextFile.csv'

예: 'myFolder\myExcelFile.xlsx'

원격 위치

원격 위치에 쓰려면 filename이 다음 형식과 같이 URL(Uniform Resource Locator)로 지정된 파일의 전체 경로를 포함해야 합니다.

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.xlsx'

  • filename에 파일 확장자가 포함되는 경우 쓰기 함수는 확장자를 통해 파일 형식을 결정하게 됩니다. 포함되어 있지 않으면 쓰기 함수는 쉼표로 구분된 텍스트 파일을 생성하고 확장자 .txt를 추가합니다. 또는 파일 확장자 없이 filename을 지정한 다음, 파일 유형을 나타내는 'FileType' 이름-값 쌍의 인수를 포함시킬 수도 있습니다.

  • filename이 없으면 쓰기 함수는 파일을 생성합니다.

  • filename이 기존 텍스트 파일의 이름이면 쓰기 함수는 해당 파일을 덮어씁니다.

  • filename이 기존 스프레드시트 파일의 이름이면 쓰기 함수는 지정한 위치에 데이터를 쓰지만 입력 데이터의 범위 외의 값은 덮어쓰지 않습니다.

데이터형: char | string

이름-값 인수

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

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

예: 'WriteVariableNames',false는 변수 이름이 출력 파일의 첫 번째 행으로 포함되어서는 안 된다는 것을 나타냅니다.

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

모두 축소

파일 형식으로, 'FileType'과 함께 'text' 또는 'spreadsheet'를 포함하는 문자형 벡터 또는 string형이 쉼표로 구분되어 지정됩니다.

'FileType' 이름-값 쌍은 filename 입력 인수와 함께 사용되어야 합니다. filename 입력 인수에 표준 파일 확장자가 포함된 경우에는 'FileType' 이름-값 쌍의 인수를 지정할 필요가 없습니다. 쓰기 함수는 다음과 같은 표준 파일 확장자를 인식합니다.

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

  • .xls, .xlsm, .xlsx - Excel 스프레드시트 파일

  • .xlsb - Windows용 Excel이 설치된 시스템에서 지원되는 Excel 스프레드시트 파일

예: 'FileType','spreadsheet'

데이터형: char | string

변수 이름을 열 제목으로 쓸 것인지 여부를 나타내는 표시자로, 'WriteVariableNames'와 함께 true 또는 false가 쉼표로 구분되어 지정됩니다.

표시자

동작

true

쓰기 함수는 변수 이름을 출력값의 열 제목으로 포함시킵니다. 이는 디폴트 동작입니다.

false

쓰기 함수는 출력값에 변수 이름을 포함시키지 않습니다.

날짜 쓰기에 적용할 로캘로, 'DateLocale'과 함께 문자형 벡터 또는 string형 스칼라가 쉼표로 구분되어 지정됩니다. datetime 값을 파일에 쓸 때 writetimetable 함수가 어떤 로캘을 사용해 월 이름, 요일 이름, 약어를 쓸지 지정하려면 DateLocale을 사용하십시오. 문자형 벡터 또는 string형은 xx_YY 형식을 사용합니다. 여기서 xx는 언어를 지정하는 ISO 639-1 두 자리 코드(소문자)이고, YY는 국가를 지정하는 ISO 3166-1 alpha-2 코드(대문자)입니다. 로캘에 일반적으로 사용되는 값 목록은 datetime 함수에 대한 Locale 이름-값 쌍의 인수를 참조하십시오.

쓰기 함수는 날짜를 Excel 형식이 지정된 날짜로 쓸 수 있는 경우에는 항상 'DateLocale' 파라미터 값을 무시합니다.

예: 'DateLocale','ja_JP'

데이터형: char | string

쓰기 모드로, 'WriteMode'와 함께 문자형 벡터 또는 string형 스칼라가 쉼표로 구분되어 지정됩니다. 파일 형식에 따라 쓰기 모드를 선택합니다.

파일 형식

쓰기 모드

텍스트 파일

  • 'overwrite'(디폴트) — 파일을 덮어씁니다.

  • 'append' — 데이터를 파일에 추가합니다.

지정한 파일이 존재하지 않으면 쓰기 함수가 새 파일을 만들고 데이터를 새 파일에 씁니다.

스프레드시트 파일

  • 'inplace'(디폴트) — 입력 데이터가 점유하는 범위만 업데이트합니다. 쓰기 함수는 입력 데이터가 점유하는 범위 외의 데이터를 변경하지 않습니다.

    • 시트를 지정하지 않은 경우 첫 번째 시트에 씁니다.

  • 'overwritesheet' — 지정된 시트를 지우고 빈 시트에 입력 데이터를 씁니다.

    • 시트를 지정하지 않은 경우 쓰기 함수가 첫 번째 시트의 내용을 지우고 입력 데이터를 씁니다.

  • 'append' — 지정된 시트에서 점유 중인 범위의 맨 아래에 입력 데이터를 추가합니다.

    • 시트를 지정하지 않은 경우 첫 번째 시트에서 점유 중인 범위의 맨 아래에 입력 데이터를 추가합니다.

  • 'replacefile' — 파일에서 다른 시트를 모두 제거한 다음 지정된 시트를 지우고 입력 데이터를 씁니다.

    • 시트를 지정하지 않은 경우 파일에서 다른 모든 시트를 제거한 다음 첫 번째 시트의 내용을 지우고 입력 데이터를 씁니다.

    • 지정한 파일이 존재하지 않으면 쓰기 함수가 새 파일을 만들고 첫 번째 시트에 입력 데이터를 씁니다.

  • WriteVariableNamestrue로 설정된 경우, 쓰기 함수에서 쓰기 모드 'append'를 사용할 수 없습니다.

  • 스프레드시트 파일의 경우:

    • 쓰기 모드가 'append'인 경우, 쓰기 함수에서 Range 파라미터를 사용할 수 없습니다.

    • 지정한 파일이 존재하지 않으면 쓰기 함수가 'replacefile'과 동일한 동작을 수행합니다.

예: 'WriteMode','append'

데이터형: char | string

텍스트 파일에만 해당

모두 축소

필드 구분 기호 문자로, 'Delimiter'와 함께 다음 지정자 중 하나를 포함하는 문자형 벡터 또는 string형 스칼라가 쉼표로 구분되어 지정됩니다.

지정자

필드 구분 기호

','

'comma'

쉼표. 이는 디폴트 동작입니다.

' '

'space'

공백

'\t'

'tab'

';'

'semi'

세미콜론

'|'

'bar'

세로 막대

'Delimiter' 이름-값 쌍은 구분된 텍스트 파일에만 사용할 수 있습니다.

예: 'Delimiter','space'

데이터형: char | string

따옴표로 묶인 텍스트를 쓸 것인지 여부를 나타내는 표시자로, "minimal", "all" 또는 "none"으로 지정됩니다.

  • QuoteStrings"minimal"이면 쓰기 함수는 구분 기호, 라인 끝 또는 큰따옴표 문자가 포함된 모든 변수를 큰따옴표로 묶습니다.

  • QuoteStrings"all"이면 쓰기 함수는 모든 텍스트, categorical형 변수, datetime형 변수, duration형 변수를 큰따옴표로 묶습니다.

  • QuoteStrings"none"이면 쓰기 함수는 변수를 큰따옴표로 묶지 않습니다.

QuoteStrings 이름-값 인수는 구분된 텍스트 파일에만 사용할 수 있습니다.

파일과 연결된 문자 인코딩 체계로, 'Encoding'과 함께 'system' 또는 표준 문자 인코딩 체계 이름이 쉼표로 구분되어 지정됩니다. 인코딩을 지정하지 않은 경우, 쓰기 함수는 UTF-8을 사용하여 파일을 씁니다.

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

데이터형: char | string

스프레드시트 파일만 해당

모두 축소

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

데이터를 쓰려는 워크시트를 다음과 같이 이름 또는 인덱스로 지정합니다.

  • 이름 — 파일에 지정된 시트 이름이 존재하지 않으면 쓰기 함수는 이 워크시트 모음 끝에 새 시트를 추가합니다.

  • 인덱스 — 지정된 시트가 워크시트의 개수보다 큰 인덱스인 경우, 쓰기 함수는 통합 문서에 있는 워크시트의 개수가 시트 인덱스와 같아질 때까지 빈 시트를 추가합니다. 쓰기 함수는 새 워크시트가 추가되었음을 나타내는 경고도 생성합니다.

'Sheet' 이름-값 쌍은 스프레드시트 파일에만 사용할 수 있습니다.

예: 'Sheet',2

예: 'Sheet', 'MySheetName'

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

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

Range 값 형식 설명
'Corner1'

Corner1은 기록할 범위의 첫 번째 셀을 지정합니다. 쓰기 함수는 이 셀부터 시작하여 데이터를 씁니다.

예: 'Range','D2'

'Corner1:Corner2'

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

예: 'Range','D2:H4'

  • 지정한 범위가 입력 데이터의 크기보다 작으면 쓰기 함수는 범위에 맞는 입력 데이터의 일부만 씁니다.

  • 지정한 범위가 입력 데이터의 크기보다 크면 쓰기 함수는 나머지 범위를 그대로 둡니다.

'Range' 이름-값 쌍은 Excel 파일에만 사용할 수 있습니다.

예: 'Range', 'A1:F10'

데이터형: char | string

스프레드시트 데이터를 쓸 때 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로 설정하십시오.

열 너비를 자동으로 조정할지 여부로, true 또는 false로 지정됩니다. 값을 0 또는 false로 지정할 경우 writetimetable 함수는 셀의 데이터에 맞게 자동으로 열 너비를 조정하지 않습니다.

예: 'AutoFitWidth',0

스프레드시트의 셀 서식을 보존할지 여부로, true 또는 false로 지정됩니다. false를 지정할 경우 writetimetable 함수는 스프레드시트의 셀 서식을 보존하지 않습니다. 서식에는 글꼴, 셀 테두리, 색이 적용된 셀 등이 포함됩니다.

datetime 데이터를 스프레드시트 파일에 쓰는 경우, 기존 셀 서식을 보존하려면 'PreserveFormat' 이름-값 쌍과 'UseExcel' 이름-값 쌍을 모두 true로 설정해야 합니다. datetime 데이터를 파일에 쓸 때 'UseExcel'false로 설정하고 'PreserveFormat'true로 설정할 경우, writetimetable 함수는 파일의 기존 셀 서식을 보존하지 않습니다.

예: 'PreserveFormat',false

XML 파일에만 해당

모두 축소

특성 접미사로, 'AttributeSuffix'와 함께 문자형 벡터 또는 string형 스칼라가 쉼표로 구분되어 지정되며, 입력 테이블의 어떤 변수 이름을 출력 XML 파일의 특성으로 쓸지 나타냅니다.

예를 들어, 입력 테이블에 변수 이름 AttName_att가 있을 경우 'AttributeSuffix','_att'를 지정하면 'AttName'을 출력 XML 파일의 특성으로 쓰도록 지정했음을 나타냅니다.

  • 'AttributeSuffix'를 지정하지 않으면 writetimetable은 기본적으로 출력 XML 파일의 특성으로 접미사 'Attribute'를 사용하여 변수를 씁니다.

  • 'AttributeSuffix' 값으로 지정된 특성이 입력 테이블의 변수 이름에 붙은 접미사와 일치하면 해당 접미사는 출력 XML 파일의 변수 이름에서 생략됩니다. 예를 들어, 'AttributeSuffix','_att'를 지정하면 MyField_att라는 입력 테이블의 변수는 XML 파일의 MyField라는 특성으로 대응됩니다.

예: 'AttributeSuffix','_att'

XML 행 노드 이름으로, 'RowNodeName'과 함께 문자형 벡터 또는 string형 스칼라가 쉼표로 구분되어 지정되며, 쓰기 함수가 입력 테이블의 행에 대응되는 노드 이름을 출력 XML 파일에 씁니다. RowNodeName을 지정하지 않으면 쓰기 함수는 출력 테이블의 행 노드 이름으로 'row'를 씁니다.

예: 'TableNodeName','RootName'

XML 루트 노드 이름으로, 'TableNodeName'과 함께 문자형 벡터 또는 string형 스칼라가 쉼표로 구분되어 지정되며, 쓰기 함수가 출력 XML 파일에 루트 노드 이름으로 씁니다. TableNodeName을 지정하지 않으면 쓰기 함수는 출력 테이블의 루트 노드 이름으로 'table'을 씁니다.

예: 'TableNodeName','RootName'

알고리즘

일부의 경우 writetimetable 함수가 만든 파일이 입력 데이터를 정확하게 표현하지 못할 수 있습니다. readtimetable 함수를 사용하여 이 파일을 읽을 때 이것을 확인할 수 있습니다. 결과 데이터의 형식이나 내용이 원래 데이터와 정확히 똑같지 않을 수 있습니다. 타임테이블을 저장한 뒤 추후에 원래 타임테이블과 정확하게 일치하는 동일한 데이터와 구성으로 다시 가져오고자 하는 경우에는 타임테이블을 MAT 파일로 저장하십시오. 다음의 경우 writetimetable은 부정확한 테이블을 씁니다.

  • writetimetablelong g 형식을 사용하여 숫자형 데이터를 쓰고 categorical형 또는 문자형 데이터를 따옴표 없는 텍스트로 쓰는 경우.

  • writetimetable이 3차원 이상의 변수를 2차원 변수로 써서 후행 차원이 축소되는 경우.

  • 셀형 값의 변수인 경우 writetimetable은 셀에 있는 내용의 데이터형을 토대로 변수를 다르게 씁니다.

    • 셀의 내용 데이터형이 숫자형, 텍스트, 논리형, categorical형, datetime형 또는 duration형인 경우, writetimetable 함수는 쉼표로 구분된 여러 필드에 각 셀의 내용을 단일 행으로 씁니다.

    • 그렇지 않은 경우 writetimetable 함수는 빈 필드 하나를 씁니다.

버전 내역

R2019a에 개발됨