csvファイルから指​定した行(8行目、8​+20行目、8+20​+20行目・・・)の​データを取り出し、そ​の取り出したデータを​新しいcsvファイル​に保存したいです。行​を指定した後、その行​のデータを取り出すに​はどのようにしたらよ​いですか?

42 views (last 30 days)
押水 歩
押水 歩 on 13 Oct 2021
Commented: 押水 歩 on 13 Oct 2021
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

Accepted Answer

Atsushi Ueno
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,:));
  1 Comment
押水 歩
押水 歩 on 13 Oct 2021
無事に解決できました。
分かりやすい解説、本当にありがとうございました。

Sign in to comment.

More Answers (0)

Products


Release

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!