def read_mcpheedata(self, c_FileName, i_ncol):
f_data_aux = []
f_date_aux = []
d_date_aux = []
f_date_i = date2num(dt.datetime.strptime(IncF.c_Start_Date[0], '%d-%m-%Y'))
f_date_f = date2num(dt.datetime.strptime(IncF.c_Last_Date[0], '%d-%m-%Y'))
f_Stntime = []
d_Stntime = []
f_time_aux = f_date_i
d_time_aux = num2date(f_date_i)
while f_time_aux <= f_date_f + 23 / 24.:
f_Stntime.append(date2num(d_time_aux))
d_Stntime.append(d_time_aux)
d_time_aux = d_time_aux + dt.timedelta(hours=1)
f_time_aux = date2num(d_time_aux)
with open(c_FileName, 'r') as f:
file_data = csv.reader(f, delimiter=',')
for f_row in list(file_data)[4::]:
c_Value = f_row[i_ncol].replace(',', '.')
if c_Value == '':
f_data_aux.append(IncF.f_FillValue)
else:
f_data_aux.append(float(c_Value))
d_date_utc = dt.datetime.strptime(f_row[0], '%d-%m-%Y %H:%M') + dt.timedelta(hours=4)
d_date_local = d_date_utc + dt.timedelta(hours=IncF.i_TimeZone)
d_date_aux.append(d_date_local)
f_date_aux.append(date2num(d_date_local))
f.close()
i_start = np.where(np.array(f_date_aux) >= f_date_i)[0][0]
i_end = np.where(np.array(f_date_aux) <= f_date_f)[-1][-1]
f_VarData = np.empty(len(f_Stntime))
f_VarData.fill(IncF.f_FillValue)
f_VarData[np.in1d(f_Stntime, f_date_aux)] = np.array(f_data_aux)[np.in1d(f_date_aux, f_Stntime)]
return f_VarData, f_Stntime, d_Stntime
评论列表
文章目录