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

48 ビュー (過去 30 日間)
押水 歩
押水 歩 2021 年 10 月 13 日
コメント済み: 押水 歩 2021 年 10 月 13 日
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

採用された回答

Atsushi Ueno
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,:));
  1 件のコメント
押水 歩
押水 歩 2021 年 10 月 13 日
無事に解決できました。
分かりやすい解説、本当にありがとうございました。

サインインしてコメントする。

その他の回答 (0 件)

製品


リリース

R2020b

Community Treasure Hunt

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

Start Hunting!