MATLAB で現在のフォルダにある全てのテキストファイルを読み込むにはどうすればよいですか?
203 views (last 30 days)
Show older comments
MathWorks Support Team
on 9 Jun 2017
Answered: MathWorks Support Team
on 9 Jun 2017
MATLAB で、現在のフォルダ内にあるテキストファイル( .txt)を全て読み込み、1つの 変数として定義する方法を教えてください。
Accepted Answer
MathWorks Support Team
on 14 Jun 2017
dir 関数で、ファイル名のリストを取得し、それを元にループ処理で読み込みを行うことができます。
以下のコマンド例は、カレントディレクトリ内にある全ての .txt ファイルを多次元配列として読み込む例です。
% テストファイルの作成
csvwrite('A.txt',rand(3))
csvwrite('B.txt',rand(3))
csvwrite('C.txt',rand(3))
% テキストファイルの読み込み
list = dir('*.txt'); % 現在のフォルダーにある .txt をリスト
% データの読み込み
for n = 1:length(list)
data(:,:,n) = csvread(list(n).name);
end
上記の例は、ファイル内のデータサイズが一致いるため、多次元の double 型の配列として変数 data を作成しましたが、データのサイズが一致してなければ、セル配列や構造体データとして保存することが可能です。
以下は、セル配列として読み込む例です。
numArrays = length(list); % ファイルの数
DATA = cell(numArrays,1); % 配列事前確保
for n = 1:numArrays
DATA{n} = csvread([file_name{n},'.txt']);
end
データの読み込みに関しては、ファイルに応じて適切な関数を使用します。詳細については、以下の URL よりドキュメントをご覧ください。
・MATLAB: データのインポートとエクスポート
https://jp.mathworks.com/help/matlab/data-import-and-export.html
0 Comments
More Answers (0)
See Also
Categories
Find more on テキスト ファイル in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!