Converting txt file into title and array?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Darren Miller
el 12 de Mayo de 2020
Comentada: Darren Miller
el 13 de Mayo de 2020
I am trying to load a txt file that looks like this:
Time (s)
0
1.5
1.6
2
2.5
3.5
4
and I want to save the first line as a string to be used for the xlabel on a plot, and the n lines of numbers afterwards I would like to save as an array.
I tried to use something like this and it did not work:
xL = fscanf(fid,'%s');
fgetl(fid); %first line of txt file is the data label I am going to use for the plot xlabel
for n = 1:dataLength % dataLength = 7 here
data(n) = fscanf(fid,'%f');
fgetl(fid);
end
The problem was the xL variable was then defined as 'Time (s)01.51.622.53.54' . It basically did not just grab one line for some reason.
0 comentarios
Respuesta aceptada
per isakson
el 12 de Mayo de 2020
Editada: per isakson
el 12 de Mayo de 2020
Try this
%%
fid = fopen( 'cssm.txt', 'rt' );
xL = fgetl( fid ); % read the first line
data = fscanf( fid, '%f' ); % read numerical data until end of file
[~] = fclose( fid );
%%
xL
data
where cssm.txt contains your data sample
Más respuestas (1)
Ameer Hamza
el 12 de Mayo de 2020
On recent MATLAB releases, you can also try readtable
t = readtable('test.txt', 'PreserveVariableNames', true);
Then access data and label using this syntax
data = t{:,1}
label = t.Properties.VariableNames{1}
Ver también
Categorías
Más información sobre Text Files 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!