Filter löschen
Filter löschen

How to read information from a txt file header?

1 Ansicht (letzte 30 Tage)
Liqing
Liqing am 21 Mär. 2011
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.

Akzeptierte Antwort

Matt Tearle
Matt Tearle am 21 Mär. 2011
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 Kommentare
Liqing
Liqing am 21 Mär. 2011
Hi Matt,
This is amazing!
Thank you so much for the big help.
Liqing
Matt Tearle
Matt Tearle am 22 Mär. 2011
Glad it worked for you! Let me know if you need help deciphering any of the syntax :)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Programming finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by