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 Kommentare

How are the comments indicated in the text?
KSSV
KSSV am 1 Aug. 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)

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Adam Danz
Adam Danz am 1 Aug. 2018
Bearbeitet: Adam Danz am 1 Aug. 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 Kommentar

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Stephen23
Stephen23 am 2 Aug. 2018
Bearbeitet: Stephen23 am 3 Aug. 2018

0 Stimmen

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 Kommentare

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 am 3 Aug. 2018
Bearbeitet: Stephen23 am 3 Aug. 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 am 3 Aug. 2018
Bearbeitet: Stephen23 am 3 Aug. 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.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Large Files and Big Data finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by