Afficher commentaires plus anciens
1から3000001行まで存在するcsvデータを、1データずらしで3001ずつ切り取りcsvで保存したいのですが、下記のcsvread関数ではcsvreadのところでnの変数を読み取ってくれないのですがこれに代わるデータの切り取り方はありますでしょうか?
1つのcsvデータが約14MBですので全て書き出すとなるとメモリの容量不足になりそうですが、メモリの容量は無視していただいて構いません。
書き出されるデータは連番で約300万近いデータが書き出されると思います。
n = 1;
fileNum = 1;
filename = 'testfilename.csv';
while true
sig = csvread(filename,n-1,0(n-1,0,n+3000,0));
L = length(sig); %L = 3000001
Overwrap = 1; %1データずつ動く
pickupLength = 3001;
fileName = ['fftcsvtitle_' num2str(fileNum) '.csv'];
csvwrite(fileName, sig);
fileNum = fileNum + 1;
n = n + bufOverwrap;
if n > L-Length
break
end
end
Réponse acceptée
Plus de réponses (1)
Shoumei
le 12 Juil 2019
0 votes
どんなエラーが出てますか?
csvreadの引数にある、0(n-1,0,n+3000,0) ってどんな値を入れたいのでしょう?
引数にどんな値が入っているのか自分で確認してみると自己解決出来ると思いますよ。
Catégories
En savoir plus sur 標準ファイル形式 dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!