Я пытаюсь внести некоторые изменения в список данных о осадках. данные находятся в файле *.txt
в этом формате:Создайте текстовый файл с помощью Matlab
50810,200301010600,0.0
50810,200301010601,0.0
50810,200301010800,0.0
50810,200301010938,0.1
50810,200301010947,0.1
50810,200301010957,0.1
Каждый файл у меня есть содержит данные об осадках в минуту от 1 года. Первое число - это номер станции, и это равно для каждой строки в файле. В моем исходном файле у меня есть одна строка с данными за каждую минуту.
Я хочу, чтобы создать новый файл, который содержит:
- Только линии с осадками, которые не равны нулю, поэтому я хочу, чтобы удалить все строки, где последнее число равно нулю. Я понял это.
Если есть целый час без осадков, я хочу удалить все нулевые линии и создать новую строку, которая гласит: 50810,200301010600,0.0. Если осадков не было между 6 и 7 утра. на 01.01.
clear all data = load('jan-31des_2003.txt'); %opens file with data fid=fopen('50810_2003','w'); %opens empty file to write [nrow, ncol] = size(data); %size of data fprintf(fid,'%5s %12s %5s \r\n','Snr','Dato - Tid','RR_01') %Header for row = 1:nrow y = data(row,2); %year m = data(row,3); % month d = data(row,4); % date h = data(row,5); % hour M = data(row,6); % minute p = data(row,8); % precipitation if p > 0 fprintf(fid,'50810,%04d%02d%02d%02d%02d,%.1f \r\n',[y,m,d,h,M,p]); end if p==0 HERE I NEED SOME HELP end end fclose(fid);
Что такое код для моего желаемого форматирования в состоянии if p==0
?
Возможный дубликат [Поиск островов нулей в последовательности] (http://stackoverflow.com/questions/3274043/finding-islands-of-zeros-in-a-sequence) – excaza