Reading data from a text file

35 visualizaciones (últimos 30 días)
nl2605
nl2605 el 25 de Jul. de 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.

Respuesta aceptada

Narges M
Narges M el 25 de Jul. de 2013
Editada: Narges M el 25 de Jul. de 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 comentarios
Narges M
Narges M el 25 de Jul. de 2013
Editada: Narges M el 25 de Jul. de 2013
that's done automatically. refer to "help importdata"
nl2605
nl2605 el 25 de Jul. de 2013
Thanks! got it!

Iniciar sesión para comentar.

Más respuestas (1)

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

Iniciar sesión para comentar.

Community Treasure Hunt

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

Start Hunting!

Translated by