fastest way to read in every m lines of a file sequentially?

2 views (last 30 days)
I need to read in every 100 lines of a very large file. Then I so some calculations with the data of those 100 lines then I get the next 100 lines (in order) and do the same set of calculations...and repeat until the last set of 1000 lines of the very large file. I cannot read in the entire large file at once, as it is too big.
What is the best (fastest) way to do this?
I already know the basic structure:
while(~feof(myfile))
a=fgetl(myfile)
end
Thanks!

Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 29 Nov 2014
Edited: Azzi Abdelmalek on 29 Nov 2014
fid=fopen(myfile)
k=0;
a=cell(1,100)
while ~feof(fid)
k=k+1
a{k}=fgetl(fid)
if mod(k,100)==0
%do your calculations
end
end
fclose(fid)

Categories

Find more on Text Data Preparation in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!