文本文件和Matlab

时间:2015-11-17 09:33:14

标签: matlab

我对*.txt文件进行som更改时遇到问题。 数据采用以下格式:

11,2003,1,1,9,38,40.38,1
11,2003,1,1,9,47,2.5,1
11,2003,1,1,10,34,43.88,1
11,2003,1,1,10,38,14.5,1
11,2003,1,1,12,47,13.2,1

列数为站号,年,月,日,小时,分钟,秒和降水量(1 = 0.1 mm)

列表中不包含降水= 0的时间。这将导致没有降雨的小时数。对于这些情况,我想在新文件中为没有降雨的时间的第一分钟制作一个条目,以显示已经进行了测量。像这样:

50810,200301010938,0.1 
50810,200301010947,0.1 
50810,200301011034,0.1 
50810,200301011038,0.1
50810,200301011100,0.0   <---- This is what I need to get in the New file
50810,200301011247,0.1

(新站号,日期/时间,降水量)

现在我已经拿出来了:

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
p = p*0.1


end

fclose(fid);

1 个答案:

答案 0 :(得分:0)

您可以使用if命令检查您正在查看的下一个小时是否比最后一个小时提前一个小时。如果是这种情况,您可以在此时创建一​​个新条目:

// Base url to REST endpoint, for shorter url's in requests
var client = new RestClient("http://api.ocrapiservice.com/1.0/rest/");

var request = new RestRequest("ocr", Method.POST);
request.AddFile("image", photoFullName);
request.AddParameter("language", language);
request.AddParameter("apikey", apiKey);

var response = client.Execute(request);

在此部分之后,如果还有其他“跳过”小时,则需要再次检查,依此类推。您还应该通过while循环替换for循环,直到到达数据集中的最后一个条目。

尝试实现这个想法,然后使用您的代码返回给我们,以防它无法解决问题。