Reading data from a text file

30 次查看(过去 30 天)
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.

采纳的回答

Narges M
Narges M 2013-7-25
编辑:Narges M 2013-7-25
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 个评论
Narges M
Narges M 2013-7-25
编辑:Narges M 2013-7-25
that's done automatically. refer to "help importdata"

请先登录,再进行评论。

更多回答(1 个)

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

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by