Effacer les filtres
Effacer les filtres

issue regarding reading .txt file with comments

12 vues (au cours des 30 derniers jours)
Akshat Shrivastava
Akshat Shrivastava le 1 Août 2018
Commenté : Walter Roberson le 3 Août 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 commentaires
KSSV
KSSV le 1 Août 2018
A snippet of file or attaching the file will help us to help you.
Akshat Shrivastava
Akshat Shrivastava le 1 Août 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)

Connectez-vous pour commenter.

Réponse acceptée

Adam Danz
Adam Danz le 1 Août 2018
Modifié(e) : Adam Danz le 1 Août 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 commentaire
Walter Roberson
Walter Roberson le 1 Août 2018
You would probably want
C = cell2mat( textscan(fid, '%f%f', 'CommentStyle', '#', 'CollectOutput', true) );

Connectez-vous pour commenter.

Plus de réponses (1)

Stephen23
Stephen23 le 2 Août 2018
Modifié(e) : Stephen23 le 3 Août 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 commentaires
Stephen23
Stephen23 le 3 Août 2018
Modifié(e) : Stephen23 le 3 Août 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 le 3 Août 2018
In particular we need to verify whether the file is tab delimited or simple space delimited or is fixed width fields.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by