MATLABでテキスト・ファイルを読み込むときのメモです。
とりあえず、やり方は以下の二通りあることを知っていれば良さそうです。
目次
一行ずつ読み込む
Rubyに慣れていると、こちらの方が馴染があります。 一行ごとに処理をするのはこちらが良いでしょう。
fopen/fcloseとfgetlを使います:
fileName = "ningen_shikkaku.txt"; fileID = fopen(fileName); contents = ""; while ~feof(fileID) contents = contents + fgetl(fileID) + newline; end fclose(fileID);
上の例では読み込んだ後に”newline”で改行を追加しています。 newlineは sprintf(“\n”)と同じです。
なお
hoge = hoge + "\n";
では改行してくれず、
hoge = hoge + sprintf("\n");
とする必要があります。
一括で読み込む
“Text Analytics Toolbox”をインストールすると、テキスト解析に便利なコマンドが使えます。
extractFileText というコマンドで一括で読み込みできます。
fileName = "ningen_shikkaku.txt"; str = extractFileText(fileName, 'Encoding', 'Shift_JIS');
こちらのやり方では2行で書けます。fopen/fcloseを気にしなくて良いのは楽ですね。
一括で読み込むか、一行ごとに読み込むかは、処理内容によって使い分ければ良いでしょう。