필터 지우기
필터 지우기

issue regarding reading .txt file with comments

조회 수: 12 (최근 30일)
Akshat Shrivastava
Akshat Shrivastava 2018년 8월 1일
댓글: Walter Roberson 2018년 8월 3일
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
KSSV
KSSV 2018년 8월 1일
A snippet of file or attaching the file will help us to help you.
Akshat Shrivastava
Akshat Shrivastava 2018년 8월 1일
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)

댓글을 달려면 로그인하십시오.

채택된 답변

Adam Danz
Adam Danz 2018년 8월 1일
편집: Adam Danz 2018년 8월 1일
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
Walter Roberson
Walter Roberson 2018년 8월 1일
You would probably want
C = cell2mat( textscan(fid, '%f%f', 'CommentStyle', '#', 'CollectOutput', true) );

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Stephen23
Stephen23 2018년 8월 2일
편집: Stephen23 2018년 8월 3일
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
Stephen23
Stephen23 2018년 8월 3일
편집: Stephen23 2018년 8월 3일
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 2018년 8월 3일
In particular we need to verify whether the file is tab delimited or simple space delimited or is fixed width fields.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Text Files에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by