How read in comment style to skip the header of a text file?
10 ビュー (過去 30 日間)
古いコメントを表示
I am trying to read hundreds of .dat file by skipping header lines (I do not know how many of them I need to skip beforehand). Header lines very from 1 to 20 and have at beginning either or "$" oder "!". A sample data (left column - node, right column - microstructure) has always two columns and looks like the following text file in the attachment.
I tried the following codeline, assuming I know beforehand that there 3 lines in header:
fid = fopen('Graphite_Node_Test.txt') ;
data = textscan(fid,'%f %f','HeaderLines',3) ;
fclose(fid);
How can I change the code so that it can read the .dat file without knowing the number of header lines beginning with either "$" or "!" sign?
0 件のコメント
採用された回答
Joseph Cheng
2021 年 6 月 17 日
編集済み: Joseph Cheng
2021 年 6 月 17 日
you can quickly scan the file(s) for the number of header lines like
file= 'Graphite_Node_test.txt';
fid = fopen('Graphite_Node_Test.txt') ;
hlines= 0;
while ~feof(fid)
cline =fgetl(fid); %get the current line
if strcmp(cline(1),'!') | strcmp(cline(1),'$') %check if it starts with ! or $
hlines = hlines+1; %if it does increment headerline counter
else
break %break out once past header
end
end
fseek(fid,0,-1); %rewind file to start
data = textscan(fid,'%f %f','Headerlines',hlines);
fclose(fid);
disp(data)
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Data Import and Export についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!