Main Content

スプレッドシート データを配列または個々の変数に読み取る

MATLAB® でスプレッドシート データを表現する最善の方法は table であり、数値とテキストが混在するデータを格納することができます。しかし、場合によってはスプレッドシート データを行列、cell 配列、または個別の変数としてインポートする必要があります。MATLAB® ワークスペースで必要とされるデータとデータ型に基づき、次の関数のいずれかを使用します。

  • readmatrix — 同種の数値データまたはテキスト データを行列としてインポートします。

  • readcell — 数値とテキストの混在するデータを cell 配列としてインポートします。

  • 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

Sheet パラメーターと Range パラメーターを指定することで、スプレッドシートからインポートするデータを選択することもできます。たとえば、Sheet パラメーターを 'Sheet1' に、Range パラメーターを 'B1:D3' に指定します。関数 readmatrix は、'Sheet1' という名前のシートの第 1 行第 2 列の要素から始まる、33 列のデータのサブセットを読み取ります。

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

     8     3     1
     4     7     3
     6     7    10

cell 配列へのスプレッドシート データの読み取り

表形式の混合データを airlinesmall_subset.xlsx から cell 配列にインポートします。

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

  C         1339x29            4277290  cell               

Sheet パラメーターと Range パラメーターを指定することで、スプレッドシートからインポートするデータを選択することもできます。たとえば、Sheet パラメーターを '2007' に、Range パラメーターを 'G2:I11' に指定します。関数 readcell は、'2007' という名前のワークシートから、列 789 にある変数の 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              

Sheet パラメーターと Range パラメーターを指定することで、どのサブセットをスプレッドシートからインポートするかを選択することもできます。たとえば、'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

参考

| | |

関連するトピック