MATLAB xlsx ファイルを読む

Ammar Ali 2023年1月30日
  1. MATLAB で readtable() 関数を使用して ExcelXLSX ファイルを読み取る
  2. MATLAB で readmatrix() 関数を使用して ExcelXLSX ファイルを読み取る
  3. MATLAB で readcell() 関数を使用して ExcelXLSX ファイルを読み取る
MATLAB xlsx ファイルを読む

このチュートリアルでは、MATLAB の readtable()readmatrix()、および readcell() 関数を使用して Excel ファイルを読み取る方法について説明します。

MATLAB で readtable() 関数を使用して ExcelXLSX ファイルを読み取る

readtable() 関数を使用して、任意の拡張子の Excel ファイルや他の多くの種類のファイルを読み取ることができます。この関数は、ファイルデータを読み取り、各列の変数を含むテーブルに保存します。Excel ファイルの各列に変数が含まれていない場合、readtable() 関数は、var1 などで始まるデフォルトの変数名をそれらに与えます。たとえば、以下のコードを参照してください。

data = readtable('fileName.xlsx');

上記のコードでは、拡張子が xlsxfileName という名前のファイルを読み取っています。指定されたファイルに応じて、ファイルの名前と拡張子を変更できます。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() 関数の詳細については、このリンクを確認してください。

著者: 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