MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today**New to MATLAB?**

Asked by huda nawaf
on 24 Apr 2012

hi

I have txt file with big size (570 MB). I try to read it

by this code:

f1=fopen('d:\matlab11\bin\test1.txt');

c=textscan(f1,'%d %d %f %s %s');

fclose(f1);

c1=c{1}; c2=c{2};c3=c{3};c4=c{4};c5=c{5};

u_user=unique(c1);

u_movie=unique(c2);

%%%%%%%%%%%%%%%%

but I did not get the sme data and not all.

I tried with small part from the same data , I got correct data.

this is the sample:

852910 47995 5 2008-08-16 00:00:00

852910 49280 4.5 2008-05-05 00:00:00

852910 49325 4.5 2008-06-10 00:00:00

852910 48116 5 2008-01-12 00:00:00

how I can read this big size file?

thanks in advance

*No products are associated with this question.*

Answer by Ken Atwell
on 24 Apr 2012

textscan can return a second output, "pos", which will return the position that textscan stopped at if an error occurred (which seems to be the case here). You can also determine where the error is by the length of what textscan managed return in the first output. If you text file is, say, 10000 row long and c{1} is only 1234 rows long, your error is around that row.

huda nawaf
on 25 Apr 2012

thanks,

in fact it is not error but when need see c1

i get Empty matrix: 0-by-1

the no. of rows is 8196077.

I would like to say that my code can read the same file (the same no. of rows) but with three columns correctly .why when be five columns with same no. of rows get empty matrix?

## 1 Comment

## Oleg Komarov

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/36454#comment_75551

Then the file could be corrupt, check it from where you stopped reading it.