CSVファイルからの読み込んだ文字(数字)データの数字への変換
Show older comments
カンマ区切りのCSVファイル(test.csv(10x10の数字データ))から数字を読み出そうとしています。
下記のように書いたのですが、
v = str2double(dt);
でvに入る値がNaNになってしまいます。
ステップ実行でdtを見る限り正しく文字(数字)が入っているのですが、vにはNaNが入ります。
何を間違えているのでしょうか。
fid = fopen('test.csv', 'r');
databox = zeros(10);
for r = 1:10
d = fgetl(fid);
[dt, rem] = strtok(d, ',');
v = str2double(dt);
databox(r, 1) = real(v);
for c = 2:10
[dt, rem] = strtok(rem, ',');
v = str2double(dt);
databox(r, c) = real(v);
end
end
fclose(fid);
6 Comments
...まさか
str2double('1+2i')
澄人
on 11 Mar 2024
Atsushi Ueno
on 13 Mar 2024
ロケール設定を確認してみてはいかがでしょうか。
澄人
on 14 Mar 2024
Atsushi Ueno
on 14 Mar 2024
Edited: Atsushi Ueno
on 14 Mar 2024
which str2double
Accepted Answer
More Answers (0)
Categories
Find more on データ型の変換 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!