issue regarding reading .txt file with comments

Hello, I am trying to load a 'txt' file and plot it. It has just 2 columns and multiple rows. I also have few rows which have comments which i can not remove. But when i load the file and plot it. it just plot the data till the row which has the 1st comment. After that it is not acknowledging or reflecting the data. What can be done for this? Please help me out. I am using 2018 version Thanks in advance.

3 comentarios

How are the comments indicated in the text?
KSSV
KSSV el 1 de Ag. de 2018
A snippet of file or attaching the file will help us to help you.
I am adding a screenshot of the code. As you can see, on row 7 and 24 i have added a comment. but the program is only running till row 6 and not after that. can you help with a code which will run all the rows (including the comment)

Iniciar sesión para comentar.

 Respuesta aceptada

Adam Danz
Adam Danz el 1 de Ag. de 2018
Editada: Adam Danz el 1 de Ag. de 2018
If you are using textscan() to read in the data, you can use the 'CommentStyle' property which will ignore any text on a single line following the comment character ('#').
A simple example
fid = fopen('test1.txt');
C = textscan(fid, %f, 1, 'CommentStyle', '#');
fclose(fid);

1 comentario

You would probably want
C = cell2mat( textscan(fid, '%f%f', 'CommentStyle', '#', 'CollectOutput', true) );

Iniciar sesión para comentar.

Más respuestas (1)

Stephen23
Stephen23 el 2 de Ag. de 2018
Editada: Stephen23 el 3 de Ag. de 2018
More robust:
opt = {'CommentStyle','#', 'CollectOutput',true};
[fid,msg] = fopen('yourfile.txt','rt');
assert(fid>=3,msg)
C = textscan(fid, '%f%f', opt{:});
fclose(fid);
M = C{1};
Or use dlmread.

6 comentarios

Thank you so much for the help!! It worked :)
Hi, Just have a query with the syntax you told. After using it, I am able to plot the graph, but as per the numerical data in text file it is not corresponding the correct values. I have attached the screenshot of the plot and the text file data. For example: in the text file. the time at 259 second corresponds to -0.0998, but as per the plot it is something else. Can you help me this. Thanks
Stephen23
Stephen23 el 3 de Ag. de 2018
Editada: Stephen23 el 3 de Ag. de 2018
@Akshat Shrivastava: please upload your data file. I cannot load a screenshot as data.
Please show the code that you used. If you do not show the code you used than I have to guess or imagine what you are doing. Guessing is not a very accurate way to debug code!
@ Stephen Cobeldick. I have used the same code as mentioned above. (The one which you told)
Stephen23
Stephen23 el 3 de Ag. de 2018
Editada: Stephen23 el 3 de Ag. de 2018
Akshat Shrivastava: please upload your data file. I cannot load a screenshot as data.
Possibly you just need to add 'MultipleDelimsAsOne' to the options cell array, but without your actual data file this is impossible for me to test.
Or you might be able to trivially use dlmread. This would be easy to check if I had your data file.
In particular we need to verify whether the file is tab delimited or simple space delimited or is fixed width fields.

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