複数あるdatファイルの読み込みエラーについて
21 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
複数ある7行4列のdatファイルを読み込みたいと思っています。 下記のようなコードを実行すると,「ファイルが見つかりません。」とエラーが出ます。 listで確認してもdatファイルはすべてリストアップされています。 どのように書き換えれば正常に読み込みができるでしょうか?
list= dir ('*.dat');
data = cell(1,length(list));
for k = 1:length(list)
data{k} = csvread(list(k).name);
end
6 Kommentare
michio
am 14 Jun. 2017
list = dir('*.dat');
で認識される dat ファイルであるにも関わらず
exist(list(2).name)
の戻り値が 0 と出力されてファイルが見つからなかったということですね・・。
参考までですが、、どういった形でファイルを保存されてたのかだけ簡単に教えて頂けますか?
Antworten (1)
michio
am 15 Jun. 2017
Bearbeitet: michio
am 15 Jun. 2017
なるほど、全部では無いですが状況がわかりました。詳細ありがとうございます。
dir の結果 list(k).name にどんな情報が入っているかを確認すると、ファイルの名前しか含まれていないことがわかるかと思います。
スクリプトが保存されているディレクトリとは別の場所にあるファイルを読み込む場合に、csvread 関数にファイル名を与えるだけでは不十分です。関数はファイルがどこにあるかわからないので。
例えば for ループ内で fullfile https://jp.mathworks.com/help/matlab/ref/fullfile.html 関数を使ってファイル名とディレクトリパス名を結合した上で、csvread 関数に入力すれば読み込めるはずですよ。 トライしてみてください。
もし余裕があれば、、下記で紹介している datastore 関数も便利ですよ。 https://jp.mathworks.com/matlabcentral/answers/309715-datastore
Siehe auch
Kategorien
Mehr zu ファイルの操作 finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!