複数あるdatファイルの読み込みエラーについて
18 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
複数ある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 comentarios
michio
el 14 de Jun. de 2017
list = dir('*.dat');
で認識される dat ファイルであるにも関わらず
exist(list(2).name)
の戻り値が 0 と出力されてファイルが見つからなかったということですね・・。
参考までですが、、どういった形でファイルを保存されてたのかだけ簡単に教えて頂けますか?
Respuestas (1)
michio
el 15 de Jun. de 2017
Editada: michio
el 15 de Jun. de 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
Ver también
Categorías
Más información sobre ファイルの操作 en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!