Reading data from a text file

27 views (last 30 days)
nl2605
nl2605 on 25 Jul 2013
Hallo
I usually used load function to read text files. However, this time my text file has the first column as p1 p2 p3 and so on. How can I not read this column and load only the next available columns. I used fopen, fscanf and fclose but it gives an empty array as output.
Thanks in advance.

Accepted Answer

Narges M
Narges M on 25 Jul 2013
Edited: Narges M on 25 Jul 2013
use this example:
cfg = fopen('myfile.txt');
line = fgetl(cfg); %this line reads the first line, you can discard it right away
while( ~feof(cfg) )
line = fgetl(cfg);
% read your data here, using textscan for example
end
or use this:
f = fopen('myfile.txt');
E = textscan(f,'%s %f %f %f','delimiter', ' ', 'collectoutput',false,'BufSize',10000);
end
  11 Comments
Narges M
Narges M on 25 Jul 2013
Edited: Narges M on 25 Jul 2013
that's done automatically. refer to "help importdata"
nl2605
nl2605 on 25 Jul 2013
Thanks! got it!

Sign in to comment.

More Answers (1)

kjetil87
kjetil87 on 25 Jul 2013
Edited: kjetil87 on 25 Jul 2013
perhaps you are using fscanf(fid,'%d') ?
Try reading it as characters:
fid=fopen('text.txt');
DATA=fscanf(fid,'%c');
fclose(fid);
  4 Comments
Narges M
Narges M on 25 Jul 2013
E = textscan(f,'%s %f %f %f','delimiter', ' ', 'collectoutput',false,'BufSize',10000);
nl2605
nl2605 on 25 Jul 2013
tried this way too. But it gives E=0.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!