Main Content

스프레드시트 데이터를 배열 또는 개별 변수로 읽어오기

MATLAB®에서 스프레드시트 데이터를 나타낼 수 있는 가장 좋은 방법은 숫자형 데이터와 텍스트 데이터를 같이 저장할 수 있는 테이블을 사용하는 것입니다. 하지만 스프레드시트 데이터를 행렬, 셀형 배열 또는 별도의 변수 형식으로 가져와야 하는 경우가 종종 있습니다. MATLAB® 작업 공간에 필요한 데이터와 데이터형에 따라 다음 함수 중 하나를 사용합니다.

  • readmatrix — 동종 숫자형 데이터나 텍스트 데이터를 행렬로 가져옵니다.

  • readcell — 숫자형 데이터와 텍스트 데이터가 혼합된 형태를 셀형 배열로 가져옵니다.

  • readvars — 스프레드시트 열을 별도의 변수로 가져옵니다.

스프레드시트 데이터를 행렬로 읽어오기

basic_matrix.xls에서 숫자형 데이터를 행렬로 가져옵니다.

M = readmatrix('basic_matrix.xls')
M = 5×4

     6     8     3     1
     5     4     7     3
     1     6     7    10
     4     2     8     2
     2     7     5     9

또한, SheetRange 파라미터를 지정하여 스프레드시트에서 가져올 데이터를 선택할 수도 있습니다. 예를 들어, Sheet 파라미터를 'Sheet1'로 지정하고 Range 파라미터를 'B1:D3'으로 지정합니다. 그러면 readmatrix 함수가 이름이 'Sheet1'인 시트의 첫 번째 행, 두 번째 열에 있는 요소부터 시작해 데이터의 3×3 서브셋을 읽어옵니다.

M = readmatrix('basic_matrix.xls','Sheet','Sheet1','Range','B1:D3')
M = 3×3

     8     3     1
     4     7     3
     6     7    10

스프레드시트 데이터를 셀형 배열로 읽어오기

airlinesmall_subset.xlsx에서 혼합된 테이블 형식 데이터를 셀형 배열로 가져옵니다.

C = readcell('airlinesmall_subset.xlsx');
whos C
  Name         Size              Bytes  Class    Attributes

  C         1339x29            4277290  cell               

또한, SheetRange 파라미터를 지정하여 스프레드시트에서 가져올 데이터를 선택할 수도 있습니다. 예를 들어, Sheet 파라미터를 '2007'로 지정하고 Range 파라미터를 'G2:I11'로 지정합니다. 그러면 readcell 함수가 이름이 '2007'인 워크시트에서 열 7, 8, 9에 있는 변수에 대한 10개 행의 데이터를 가져옵니다.

subC = readcell('airlinesmall_subset.xlsx','Sheet','2007','Range','G2:I11')
subC=10×3 cell array
    {[ 935]}    {[ 935]}    {'WN'}
    {[1041]}    {[1040]}    {'WN'}
    {[1430]}    {[1500]}    {'WN'}
    {[ 940]}    {[ 950]}    {'WN'}
    {[1515]}    {[1515]}    {'WN'}
    {[2042]}    {[2035]}    {'WN'}
    {[2116]}    {[2130]}    {'WN'}
    {[1604]}    {[1605]}    {'WN'}
    {[1258]}    {[1230]}    {'WN'}
    {[1134]}    {[1145]}    {'WN'}

스프레드시트 데이터 열을 별도의 변수로 읽어오기

airlinesmall_subset.xlsx에서 처음 3개의 열을 별도의 작업 공간 변수로 가져옵니다.

[Year,Month,DayOfMonth] = readvars('airlinesmall_subset.xlsx');
whos  Year Month DayOfMonth
  Name               Size            Bytes  Class     Attributes

  DayOfMonth      1338x1             10704  double              
  Month           1338x1             10704  double              
  Year            1338x1             10704  double              

또한, SheetRange 파라미터를 지정하여 스프레드시트에서 가져올 서브셋을 선택할 수도 있습니다. 예를 들어, 이름이 '2004'인 워크시트에서 열 DayOfMonth의 10개 행을 가져온다고 가정하겠습니다. Range 파라미터를 사용하여 열과 행 개수를 지정합니다.

DayOfMonth = readvars('airlinesmall_subset.xlsx','Sheet','2004','Range','C2:C11')
DayOfMonth = 10×1

    26
    10
    21
    24
    20
    20
     1
     2
    30
    11

참고 항목

| | |

관련 항목