Import text file with header
103 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hi, I have a text file with header, I need to import the file to matlab and to use numeric data. The numeric data in a line is separated by a ",". The file is as following Thanks Adelynne
base shear
Analysis Series = cyclic2 (cyclic2)
Load Case = [2] = [1] + cyclic
0,-2.980232E-08
0.1,-24.82325
0.2,-87.0501
0.3,-75.9906
0.4,86.35868
0.5,281.4871
0.6,417.2569
0.7,521.8102
0.8000001,622.5663
0.9,711.8201
1,785.7328
1.1,838.6344
1.2,863.1584
1.3,857.4628
1.4,817.3618
1.5,700.1636
0 comentarios
Respuesta aceptada
Jing
el 26 de Feb. de 2013
The functions that would be most helpful are 'fopen' and 'textscan'.
fid=fopen('yourtext.txt');
cdata=textscan(fid,'%f %f','delimiter',',');
fclose(fid);
5 comentarios
Jing
el 26 de Feb. de 2013
just use textscan, and tell it you have how many header lines using HeaderLines options. Read Isakson's answer below...
per isakson
el 26 de Feb. de 2013
Editada: per isakson
el 26 de Feb. de 2013
cdata is a cell array. Read on cell array in the on-line help. And try
plot( cdata{1}, cdata{2} )
Más respuestas (4)
per isakson
el 26 de Feb. de 2013
... but don't forget the header
fid=fopen('yourtext.txt');
cdata=textscan(fid,'%f%f','delimiter',',', 'HeaderLines', 3 );
fclose(fid);
0 comentarios
Azzi Abdelmalek
el 26 de Feb. de 2013
fid = fopen('file.txt');
line1 = fgetl(fid);
res={line1};
while ischar(line1)
line1 = fgetl(fid);
res{end+1} =line1
end
fclose(fid);
res(end)=[]
data=res(4:end)
a=cellfun(@(x) regexp(x,',','split'),data,'un',0)
x1=str2num(char(cellfun(@(x) x{1},a,'un',0)'))
x2=str2num(char(cellfun(@(x) x{2},a,'un',0)'))
0 comentarios
Muthu Annamalai
el 26 de Feb. de 2013
z=textread('filename.dat','%s','delimiter','\n')
z=z(4:end)
q=regexp(z,',','split')
data = reshape(str2double([q{:}]),2,16)'
0 comentarios
Miroslav Balda
el 26 de Feb. de 2013
The simplest way to read such data is in using the function txt2mat fro the File Exchange:
www.mathworks.com/matlabcentral/fileexchange/18430
Should the name of your data be Adely.txt , the following statement does the task:
A = txt2mat('Adelyn.txt','InfoLevel',0);
0 comentarios
Ver también
Categorías
Más información sobre Data Import and Export en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!