- 积分
- 15604
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-9-9
- 最后登录
- 1970-1-1
|
发表于 2019-5-20 09:57:51
|
显示全部楼层
for isite = 1:length(site)
disp(['===> processing ',site{isite}]);
file = [input_dir,site{isite},'\',num2str(target_year,'%.4i'),'-',num2str(target_month,'%.2i'),'.txt'];
fileID = fopen(file,'rt');
fseek(fileID,0,'eof');
filelength = ftell(fileID);
fclose(fileID);
fileID = fopen(file,'rt');
clear data;
for ifileline=1:filelength
data{ifileline,1} = fgetl(fileID);
if strfind(data{ifileline,1},[site_name{isite},' Observations'])
data_beg = ifileline;
temp = strfind(data{ifileline,1},[site_name{isite},' Observations']);
hour = data{ifileline,1}(temp+length([site_name{isite},' Observations'])+4:temp+length([site_name{isite},' Observations'])+5);
day = data{ifileline,1}(temp+length([site_name{isite},' Observations'])+8:temp+length([site_name{isite},' Observations'])+9);
end
if strfind(data{ifileline,1},'Station information and sounding indices')
data_end = ifileline;
fid=fopen([output_dir,site{isite},'\',num2str(target_year,'%.4i'),num2str(target_month,'%.2i'),day,hour,'.txt'],'wt');
for idataline = data_beg+2:data_end-1
temp = data{idataline,1};
fprintf(fid,'%s',temp);
fprintf(fid,'\n');
end
fclose(fid);
end;
end
% while ~feof(fileID)
% data{i,1} = fgetl(fileID);
% end
fclose(fileID);
end
之前自己处理时写的一段程序。
大致思路就是虽然数据里面有头尾,但是都还是规律的,可以按照站点编号(即程序中的site)来处理。
楼主可以参考一下 |
|