csvファイル読み込み時のreadtableのエラー
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 23 Dec 2020
CSVファイルのサンプルを提示いただくことは可能でしょうか?最初の2行だけあれば十分です。
HIronori Kamachi
on 23 Dec 2020
Kojiro Saito
on 23 Dec 2020
ありがとうございます。私の環境ではR2019bで問題なく読み込めました。
この1行の場合でも読み込みエラーが発生することはありますか?
HIronori Kamachi
on 23 Dec 2020
Edited: HIronori Kamachi
on 23 Dec 2020
Kojiro Saito
on 24 Dec 2020
上記のコードでは、fcloseでリターンが0以上の場合にしか次のreadtableに移れないので、ファイルクローズは問題ないように思えます。query.csvへのfprintfでの書き込みのほうでの原因は考えられないでしょうか?
HIronori Kamachi
on 24 Dec 2020
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のドキュメント
1 Comment
HIronori Kamachi
on 5 Jan 2021
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!