MATLAB xlsx ファイルを読む
-
MATLAB で
readtable()
関数を使用して ExcelXLSX ファイルを読み取る -
MATLAB で
readmatrix()
関数を使用して ExcelXLSX ファイルを読み取る -
MATLAB で
readcell()
関数を使用して ExcelXLSX ファイルを読み取る
このチュートリアルでは、MATLAB の readtable()
、readmatrix()
、および readcell()
関数を使用して Excel ファイルを読み取る方法について説明します。
MATLAB で readtable()
関数を使用して ExcelXLSX ファイルを読み取る
readtable()
関数を使用して、任意の拡張子の Excel ファイルや他の多くの種類のファイルを読み取ることができます。この関数は、ファイルデータを読み取り、各列の変数を含むテーブルに保存します。Excel ファイルの各列に変数が含まれていない場合、readtable()
関数は、var1
などで始まるデフォルトの変数名をそれらに与えます。たとえば、以下のコードを参照してください。
data = readtable('fileName.xlsx');
上記のコードでは、拡張子が xlsx
の fileName
という名前のファイルを読み取っています。指定されたファイルに応じて、ファイルの名前と拡張子を変更できます。Excel ファイルの各行に行名を定義した場合は、プロパティ ReadRowNames
を使用してそれらをインポートでき、変数の下に保存されません。以下のコードを参照してください。
data = readtable('fileName.xlsx','ReadRowNames',true);
利用可能なデータの一部を表示したい場合は、データが保存されているオブジェクト data
を使用して表示することができます。以下のコードを参照してください。
data(1:3 , 1:2);
上記のコードは、最初の 3 行と最初の 2 列を出力します。Excel ファイルから特定の範囲データを読み取りたい場合は、プロパティ Range
を使用して列の範囲を定義できます。以下のサンプルコードを参照してください。
data = readtable('fileName.xlsx',...
'Range','C1:E7',...
'ReadVariableNames',false)
上記のコードでは、スプレッドシートに存在する列 C1
から列 E7
までの範囲を指定しました。範囲を使用する前に、スプレッドシートからデータ範囲を確認してください。プロパティ ReadVariableNames
は、最初の行を変数として読み取るかどうかを指定するために使用されます。各列の変数または名前を使用して Excel ファイルを保存した場合は、このプロパティを使用できます。このようにして、どの変数がインポートされ、どの変数がインポートされていないかがわかります。変数の名前、タイプ、およびデータの範囲がわからない場合は、detectImportOptions()
関数を使用してスプレッドシートのプロパティを検出できます。以下のサンプルコードを参照してください。
import_options = detectImportOptions('fileName.xlsx')
この関数を使用すると、Excel ファイルに関する多くの有用な情報を取得できます。readtable()
関数の詳細については、このリンクを確認してください。
MATLAB で readmatrix()
関数を使用して ExcelXLSX ファイルを読み取る
Excel ファイルに数値データを保存している場合は、readmatrix()
関数を使用してデータを行列に読み込むことができます。以下のサンプルコードを参照してください。
MyMatrix = readmatrix('fileName.xlsx')
ファイルを読み取るには、readmatrix()
関数内でファイル名とその拡張子を指定する必要があります。detectImportOptions()
関数を使用して、インポートオプションを検出および設定することもできます。たとえば、スプレッドシートのシート番号、変数名、データ範囲を検出して選択しましょう。以下のコードを参照してください。
Iopts = detectImportOptions('fileName.xlsx')
Iopts.Sheet = '2007';
Iopts.SelectedVariableNames = [1:5];
Iopts.DataRange = '2:11';
data = readmatrix('fileName.xlsx',Iopts);
これらのプロパティは、Excel ファイルに応じて変更できます。Range
プロパティを使用して、インポートする列の範囲を定義することもできます。以下のサンプルコードを参照してください。
data = readmatrix('fileName.xlsx','Range','B1:C10');
Range
プロパティを使用する前に、必ずスプレッドシートからデータ範囲を確認してください。readmatrix()
関数の詳細については、このリンクを確認してください。
MATLAB で readcell()
関数を使用して ExcelXLSX ファイルを読み取る
セルデータを Excel ファイルに保存している場合は、readcell()
関数を使用してデータをセルに読み込むことができます。以下のサンプルコードを参照してください。
MyCell = readcell('fileName.xlsx')
ファイルを読み取るには、readcell()
関数内でファイル名とその拡張子を指定する必要があります。detectImportOptions()
関数を使用して、インポートオプションを検出および設定することもできます。以下のサンプルコードを参照してください。
Iopts = detectImportOptions('fileName.xlsx');
Iopts.SelectedVariableNames = {'Variable1','Variable2'};
MyCell = readcell('fileName.xlsx',Iopts);
上記のコードでは、データを読み取る 2つの変数を選択しました。Excel ファイルや他の多くのプロパティに従って変数名を定義できます。Sheet
および Range
プロパティを使用して、データのシート番号と範囲を定義することもできます。以下のサンプルコードを参照してください。
MyCell = readcell('fileName.xlsx','Sheet','100','Range','A1:C10')
プロパティを設定する前に、必ず Excel ファイルを確認してください。readcell()
関数の詳細については、このリンクを確認してください。