Filter löschen
Filter löschen

issue regarding reading .txt file with comments

12 Ansichten (letzte 30 Tage)
Akshat Shrivastava
Akshat Shrivastava am 1 Aug. 2018
Kommentiert: Walter Roberson am 3 Aug. 2018
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
KSSV
KSSV am 1 Aug. 2018
A snippet of file or attaching the file will help us to help you.
Akshat Shrivastava
Akshat Shrivastava am 1 Aug. 2018
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
Walter Roberson
Walter Roberson am 1 Aug. 2018
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
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
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.
Walter Roberson
Walter Roberson am 3 Aug. 2018
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.

Community Treasure Hunt

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

Start Hunting!

Translated by