csvファイルから指定した行(8行目、8+20行目、8+20+20行目・・・)のデータを取り出し、その取り出したデータを新しいcsvファイルに保存したいです。行を指定した後、その行のデータを取り出すにはどのようにしたらよいですか?
48 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
採用された回答
Atsushi Ueno
2021 年 10 月 13 日
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,:));
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で テキスト ファイル についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!