MATLAB에서 Excel로 데이터 내보내기

Ammar Ali 2023년6월20일
  1. MATLAB에서 writematrix() 함수를 사용하여 Excel 파일로 데이터 내보내기
  2. MATLAB에서 writecell() 함수를 사용하여 Excel 파일로 데이터 내보내기
  3. MATLAB에서 writetable() 함수를 사용하여 Excel 파일로 데이터 내보내기
MATLAB에서 Excel로 데이터 내보내기

이 자습서에서는 MATLAB에서 writematrix(), writetable()writecell() 기능을 사용하여 데이터를 Excel 파일로 내보내는 방법에 대해 설명합니다.

MATLAB에서 writematrix() 함수를 사용하여 Excel 파일로 데이터 내보내기

writematrix() 함수는 행렬을 파일에 쓰는 데 사용됩니다. 내보내려는 데이터가 행렬에 저장되어 있으면 writematrix() 함수를 사용할 수 있습니다.

writematrix() 함수에는 다음과 같은 세 가지 구문이 있습니다.

writematrix(data)
writematrix(data,file_name)
writematrix(___,Property_Name,Property_Value)

첫 번째 구문은 주어진 행렬을 .txt 확장자를 가진 텍스트 파일에 쓰고 쉼표를 구분 기호로 사용하여 행의 요소를 구분합니다. writematrix() 함수는 매트릭스 변수의 이름을 출력 파일의 이름으로 사용하고 함수가 매트릭스 이름을 사용할 수 없는 경우 matrix.txt 이름을 파일 이름으로 사용합니다.

각 입력 행렬 행은 출력 파일의 행이 됩니다. 파일 이름이 이미 존재하는 경우 함수는 데이터를 덮어씁니다. 즉, 이전 데이터가 손실되고 새 데이터로 대체됩니다.

두 번째 구문은 파일 이름과 확장자를 설정하는 데 사용됩니다. 출력 파일에 이름을 지정할 수 있습니다.

.txt, .dat.csv 파일 확장자를 사용하여 구분 기호를 추가할 수 있는 텍스트 파일에 데이터를 저장할 수 있습니다. .xls, .xlsm.xlsx 파일 확장자를 사용하여 Excel 파일의 스프레드시트에 데이터를 저장할 수 있습니다.

시스템이 파일 형식을 지원하는 경우에만 .xlsb 파일 확장자를 사용하여 Excel 스프레드시트에 데이터를 저장할 수 있습니다. 예를 들어 스프레드시트 파일에 행렬을 작성해 보겠습니다.

아래 코드를 참조하십시오.

clc
clear

X = magic(3)
writematrix(X,'X.xls')

마지막 구문은 속성 이름과 값을 사용하여 writematrix() 함수의 속성을 변경합니다.

FileType 속성을 사용하여 파일 형식을 텍스트 또는 스프레드시트로 설정할 수 있습니다. DateLocale 속성을 사용하여 날짜를 쓰는 데 사용되는 로케일을 설정할 수 있습니다.

DateLocale 속성은 입력 행렬에 DateTime 값이 포함되어 있을 때 유용하며 파일에 저장될 날짜 형식을 지정하는 데 사용할 수 있습니다. 날짜 값을 저장하는 데 사용할 수 있는 로케일에서 지원하는 모든 형식을 보려면 이 링크를 확인하십시오.

WriteMode 속성을 사용하여 데이터 쓰기 모드를 설정할 수 있습니다. 텍스트 파일의 경우 기본 모드인 덮어쓰기에서 추가로 쓰기 모드를 변경할 수 있습니다. 그러면 파일에 이전에 저장된 데이터에 새 데이터가 추가됩니다.

Excel 파일의 경우 기본 모드는 inplace로 설정되어 새 데이터 범위의 데이터를 대체합니다. 예를 들어 새 데이터에 5개의 행과 5개의 열이 있는 경우 파일의 5개 행과 5개의 열만 대체되고 나머지 데이터는 동일하게 유지됩니다.

지정된 시트를 지우고 시트에 새 데이터를 쓰는 overwritesheet 모드를 사용할 수 있습니다. 시트를 지정하지 않으면 첫 번째 시트가 사용됩니다. 지정된 시트의 끝에 새 데이터를 추가하는 추가 모드를 사용할 수 있으며 시트 번호를 지정하지 않으면 첫 번째 시트가 사용됩니다.

이전 시트를 모두 삭제하고 지정된 시트에 새 데이터를 쓰는 replacefile 모드를 사용할 수 있으며 시트를 지정하지 않으면 첫 번째 시트가 사용됩니다. 구분 기호 속성을 사용하여 구분 기호를 설정할 수 있습니다. 이 구분 기호는 공백 구분 기호의 경우 공백, 탭 구분 기호의 경우 , ;으로 설정됩니다. 세미콜론의 경우 | 세로 막대의 경우.

QuoteStrings 속성을 사용하여 파일에 인용된 텍스트를 작성하는 데 사용되는 표시기를 설정할 수 있습니다. 이 속성의 값은 minimal, allnone일 수 있습니다.

최소 값은 기본값이며 큰따옴표, 구분 기호 및 줄 끝을 포함하는 변수를 큰따옴표로 묶습니다. all 값은 모든 날짜, 범주 및 텍스트 데이터를 큰따옴표로 묶습니다.

none 값은 어떤 변수도 포함하지 않습니다. 인코딩 속성을 사용하여 기본적으로 UTF-8로 설정된 문자 인코딩에 사용되는 체계를 변경할 수 있습니다.

인코딩 속성을 ISO-8859-1, windows-1251windows-1252로 설정할 수 있습니다. Sheet 속성을 사용하여 데이터를 쓰는 데 사용할 시트 번호 또는 이름을 지정할 수 있으며 문자 벡터 또는 양의 정수가 될 수 있습니다.

Range 속성을 사용하여 새 데이터를 작성하는 데 사용할 스프레드시트 범위를 설정할 수 있습니다. 범위는 시작점을 지정하는 단일 시트일 수도 있고 양식 시트 5에서 시트 10과 같은 범위일 수도 있습니다.

UseExcel 속성을 사용하여 Excel 파일에 데이터를 쓸 때 Excel 소프트웨어의 시작을 설정할 수 있습니다. 기본적으로 속성은 false로 설정되어 있습니다. 즉, Excel 소프트웨어가 시작되지 않지만 true로 설정하면 Excel 소프트웨어가 시작됩니다.

예를 들어 위의 예를 반복하고 위에서 언급한 일부 속성을 변경해 보겠습니다. 아래 코드를 참조하십시오.

clc
clear

X = magic(3)
writematrix(X,'X.xls','Sheet',3)
m = readmatrix('X.xls','Sheet',3)

출력:

X =

     8     1     6
     3     5     7
     4     9     2


m =

     8     1     6
     3     5     7
     4     9     2

위의 코드에서 X는 입력 행렬이고 m은 Excel 파일에 저장된 행렬입니다. 위의 코드에서 속성을 변경하는 것과 같은 방식으로 다른 속성을 설정할 수도 있습니다.

writematrix() 기능에 대한 자세한 내용은 이 링크를 확인하십시오.

MATLAB에서 writecell() 함수를 사용하여 Excel 파일로 데이터 내보내기

writecell() 함수는 파일에 셀을 쓰는 데 사용됩니다. 내보내려는 데이터가 셀에 저장되어 있으면 writecell() 함수를 사용할 수 있습니다.

writecell()writematrix() 함수와 동일합니다. 유일한 차이점은 writecell() 함수의 입력이 셀이고 writematrix() 함수의 입력이 행렬이라는 것입니다.

변경할 수 있는 이러한 함수의 속성도 동일합니다.

예를 들어 셀을 생성하여 엑셀 파일에 작성해 봅시다. 아래 코드를 참조하십시오.

clc
clear

X = {1,2,3}
writecell(X,'Y.xls')
c = readcell('Y.xls')

출력:

X =

  1×3 cell array

    {[1]}    {[2]}    {[3]}


c =

  1×3 cell array

    {[1]}    {[2]}    {[3]}

위 출력에서 X는 입력 셀이고 c는 저장된 파일에서 가져온 셀입니다. writecell() 기능에 대한 자세한 내용은 이 링크를 확인하십시오.

MATLAB에서 writetable() 함수를 사용하여 Excel 파일로 데이터 내보내기

writetable() 함수는 테이블을 파일에 쓰는 데 사용됩니다. 내보내려는 데이터가 테이블에 저장되어 있으면 writetable() 함수를 사용할 수 있습니다.

writetable() 함수는 writematrix() 함수와 동일합니다. 유일한 차이점은 writetable() 함수의 입력이 테이블이고 writematrix() 함수의 입력이 행렬이라는 것입니다. writetable() 함수에는 변경할 수 있는 몇 가지 추가 속성이 있습니다.

WriteRowNames 속성을 사용하여 출력 파일의 행 이름을 쓰기 위한 표시기를 설정할 수 있습니다.

기본적으로 WriteRowNames 속성은 false로 설정됩니다. 이는 테이블의 행 이름이 출력 파일에 포함되지 않음을 의미하지만 출력 파일에 행 이름을 쓰려는 경우 true로 설정할 수 있습니다. WriteVariableNames를 사용하여 테이블의 열 제목 이름을 출력 파일에 쓰는 데 사용되는 표시기를 설정할 수 있습니다.

기본적으로 WriteVariableNames 속성은 false로 설정됩니다. 즉, 테이블의 열 머리글이 출력 파일에 포함되지 않지만 출력 파일에 열 머리글을 쓰려는 경우 true로 설정할 수 있습니다. 예를 들어 표를 만들어 Excel 파일에 작성해 보겠습니다.

아래 코드를 참조하십시오.

clc
clear

Z = table([1;5],[10;15])
writetable(Z,'Z.xls')
m = readtable('Z.xls')

출력:

Z =

  2×2 table

    Var1    Var2
    ____    ____

     1       10
     5       15


m =

  2×2 table

    Var1    Var2
    ____    ____

     1       10
     5       15

위 출력에서 Z는 입력 테이블이고 m은 저장된 파일에서 가져온 테이블입니다. writetable() 기능에 대한 자세한 내용은 이 링크를 확인하십시오.

작가: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

관련 문장 - MATLAB Excel