その8 データの保存と読み込み Excel, CSV編

Excel形式やCSV形式のファイルから、データをMATLABへ読み込みます。また、それらの形式のファイルへ書き出します。

サンプルコードはこちら:

clear
close all

data = -10:10;

xlswrite('file1.xlsx', data);
data_xls = xlsread('file1.xlsx');

csvwrite('file2.csv', data);
data_csv = csvread('file2.csv');

Excelファイルの読み書き

MATLABにはExcelファイルを読み書きするための関数が用意されています。xlsread, xlswriteという関数を使って、簡単にxlsx形式やxls形式などのExcelで扱えるファイルの読み書きができます。ただし、ExcelがインストールされているWindowsのPCでなければ、MATLABのバージョンによっては使えないことがあるので、注意してください。*

data = -10:10;

xlswrite('file1.xlsx', data);
data_xls = xlsread('file1.xlsx');

このように書いた場合、読み込む範囲はMATLABが自動的に判断します。また、ファイルにシートが複数ある場合は、一番初めのシートから読み込みます。書き込みも同様で、一番初めのシートの左上のセル(A1)から順に値を埋めていきます。シートや範囲を指定したい場合は、次の例のようにシート名・範囲を引数に追加してください。

clear
close all

data = -10:10;
xlswrite('file2.xlsx', data, 'G9:AA9');
data_xls2 = xlsread('file2.xlsx', 'G9:AA9');

xlswrite('file3.xlsx', data, 'My Sheet');
data_xls3 = xlsread('file3.xlsx', 'My Sheet');

xlswrite('file4.xlsx', data, 'My Sheet', 'G9:AA9');
data_xls4 = xlsread('file4.xlsx', 'My Sheet', 'G9:AA9;');
Excelファイルの読み書き
xlswrite('ファイル名.xlsx', データ);
data_xls = xlsread('ファイル名.xlsx');

CSVファイルの読み書き

CSVファイルの説明は、Wikipediaの記事を引用することにします。(参照日:2015/6/20)

comma-separated values(略称:CSV)は、いくつかのフィールド(項目)カンマ「,」で区切ったテキストデータおよびテキストファイル。

CSVファイルを読み書きする関数は、csvread, csvwriteです。基本的な使い方はxlsreadxlswriteと同じです。ただし、読み込み始める行・列の位置を変えるには、「何行・列ずらすか」を引数に渡します。ですので、ずらさない場合は引数に0を渡します。

clear
close all

data = [-10:10;
    0:20];

csvwrite('file10.csv', data);
data_csv = csvread('file10.csv');
data_csv2 = csvread('file10.csv', 1, 5);
CSVファイルの読み書き
csvwrite('ファイル名.csv', データ);
data_csv = csvread('ファイル名.csv');
*
Excelなしでxlsxファイルを読み込めるのはR2012a以上のようです。
(出典:Release Notes for MATLAB - MATLAB & Simulink - MathWorks 日本
コメントを書く


※画像の中の文字を半角で入力してください。
*は必須項目です。