csvファイルから指定した行(8行目、8+20行目、8+20+20行目・・・)のデータを取り出し、その取り出したデータを新しいcsvファイルに保存したいです。行を指定した後、その行のデータを取り出すにはどのようにしたらよいですか?
42 views (last 30 days)
Show older comments
filename='data.csv';
B=readmatrix(filename);
S=size(B);%ファイルの行数取得
delimiterIn=',';%カンマで区切る
i=0;
while 1
i=i+1;
A=8+20*i%読み込む行
if A>S %ファイルの最終行を超えたらループ終了
break
end
writematrix(A,'data_2.csv');
end
0 Comments
Accepted Answer
Atsushi Ueno
on 13 Oct 2021
readmatrix関数を使うならこれでOKです。複数列あっても処理可能です。
B = readmatrix('data.csv');
writematrix(B(8:20:end,:),'data_2.csv');
因みにこちらはcsvread(古い関数)の場合です。
B = csvread('data.csv');
csvwrite('data_2.csv',B(8:20:end,:));
More Answers (0)
See Also
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!