How to read information from a txt file header?

1 次查看(过去 30 天)
I have several hundred txt files with the below format.
http://cid-533c6ad99f5ed0c5.office.live.com/self.aspx/.Public/data2.txt
Is there a way that I can not only read the numeric data, but also the Date, Time, Latitude, and Longitude from the header automatically?
Thank you.

采纳的回答

Matt Tearle
Matt Tearle 2011-3-21
Assuming the header information is always the same format (or at least same number of lines):
fid = fopen('data2.txt','rt');
tmp = textscan(fid,'%*s = %f',5,'headerlines',9);
metainfo = tmp{1}
hdrs = textscan(fid,repmat('%s',1,8),1,'delimiter',',');
units = textscan(fid,repmat('%s',1,8),1,'delimiter',',');
tmp = textscan(fid,repmat('%f',1,8),'delimiter',',','collectoutput',true);
data = tmp{1}
fclose(fid);
.
.
.
I'm hesitant to even suggest this, but... you could replace the third line with:
for k=1:size(tmp{1},1)
eval([tmp{1}{k},' = tmp{2}(k);']);
end
This will give you variables DATE, LATITUDE, etc with the values read from the file.
And may Cleve have mercy on my soul.
  2 个评论
Liqing
Liqing 2011-3-21
Hi Matt,
This is amazing!
Thank you so much for the big help.
Liqing
Matt Tearle
Matt Tearle 2011-3-22
Glad it worked for you! Let me know if you need help deciphering any of the syntax :)

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Programming 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by