Azzera filtri
Azzera filtri

issue regarding reading .txt file with comments

12 visualizzazioni (ultimi 30 giorni)
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 Commenti
KSSV
KSSV il 1 Ago 2018
A snippet of file or attaching the file will help us to help you.
Akshat Shrivastava
Akshat Shrivastava il 1 Ago 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)

Accedi per commentare.

Risposta accettata

Adam Danz
Adam Danz il 1 Ago 2018
Modificato: Adam Danz il 1 Ago 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 Commento
Walter Roberson
Walter Roberson il 1 Ago 2018
You would probably want
C = cell2mat( textscan(fid, '%f%f', 'CommentStyle', '#', 'CollectOutput', true) );

Accedi per commentare.

Più risposte (1)

Stephen23
Stephen23 il 2 Ago 2018
Modificato: Stephen23 il 3 Ago 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 Commenti
Stephen23
Stephen23 il 3 Ago 2018
Modificato: Stephen23 il 3 Ago 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 il 3 Ago 2018
In particular we need to verify whether the file is tab delimited or simple space delimited or is fixed width fields.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by