csvファイル読み込み時のreadtableのエラー
14 ビュー (過去 30 日間)
古いコメントを表示
.csvファイルの読み込みにreadtableを使用しているのですが、以下のエラーが出ます。
エラー: readtable (line 223)
複製係数は整数の行ベクトルまたは整数スカラーでなければなりません。
メモ: readtable で次のパラメーターが検出されました。
'Delimiter', ',', 'HeaderLines', 0, 'Format', '%*s'
エラー: SoftSensor_pre201210 (line 449)
querycsv = readtable('query.csv','ReadVariableNames',false);
理由がよくわかりません。何か解決策はないでしょうか。
6 件のコメント
Kojiro Saito
2020 年 12 月 24 日
上記のコードでは、fcloseでリターンが0以上の場合にしか次のreadtableに移れないので、ファイルクローズは問題ないように思えます。query.csvへのfprintfでの書き込みのほうでの原因は考えられないでしょうか?
回答 (1 件)
Kojiro Saito
2020 年 12 月 24 日
私のほうでは再現できていないのですが、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のドキュメント
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!