csvファイル読み込み時のreadtableのエラー
14 views (last 30 days)
Show older comments
.csvファイルの読み込みにreadtableを使用しているのですが、以下のエラーが出ます。
エラー: readtable (line 223)
複製係数は整数の行ベクトルまたは整数スカラーでなければなりません。
メモ: readtable で次のパラメーターが検出されました。
'Delimiter', ',', 'HeaderLines', 0, 'Format', '%*s'
エラー: SoftSensor_pre201210 (line 449)
querycsv = readtable('query.csv','ReadVariableNames',false);
理由がよくわかりません。何か解決策はないでしょうか。
6 Comments
Kojiro Saito
on 24 Dec 2020
上記のコードでは、fcloseでリターンが0以上の場合にしか次のreadtableに移れないので、ファイルクローズは問題ないように思えます。query.csvへのfprintfでの書き込みのほうでの原因は考えられないでしょうか?
Answers (1)
Kojiro Saito
on 24 Dec 2020
私のほうでは再現できていないのですが、readtableをtry/catchで囲んで、読み取り発生時は再度readtableを実施するようにしてみてはいかがでしょうか。
以下がサンプルですが、while文でreadtableを繰り返し、正常に読み込めたらwhile文を抜けるというものです。
stat = false;
while stat ~= true
try
querycsv = readtable('query.csv','ReadVariableNames',false);
stat = true;
disp('読み込み完了')
catch ME
disp(ME.message)
disp('読み込みをリトライします')
end
end
参考: try/catchのドキュメント
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!