Bạn có thể nên sử dụng textcan để đọc dữ liệu theo từng phần và sau đó xử lý. Điều này có thể sẽ hiệu quả hơn đọc một dòng duy nhất tại một thời điểm. Ví dụ:nếu bạn có 3 cột dữ liệu, bạn có thể thực hiện:
filename = 'fname.csv';
[fh, errMsg] = fopen( filename, 'rt' );
if fh == -1, error( 'couldn''t open file: %s: %s', filename, errMsg ); end
N = 100; % read 100 rows at a time
while ~feof( fh )
c = textscan( fh, '%f %f %f', N, 'Delimiter', ',' );
doStuff(c);
end
CHỈNH SỬA
Ngày nay (R2014b trở lên), sử dụng datastore
.