スプレッドシート データを配列または個々の変数に読み取る
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 列の要素から始まる、3
行 3
列のデータのサブセットを読み取ります。
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'
という名前のワークシートから、列 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
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
参考
readtable
| readmatrix
| readcell
| readvars