csvファイル読み込み時のreadtableのエラー
15 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
Categories
Find more on Matrix Indexing 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!