def accumulate_data(unique_station_sensor,data,date_filter):
"""
Prep the data in a format easy to push to the server
"""
rolled_up_data = {}
with open(data,'r') as fi:
r = csv.reader(fi)
for i, row in enumerate(r):
j = i-1
if i == 0:
continue
else:
if date_filter[j] and row[4] != "": #only process row if date_filter is true and value is not missing
data_id = (row[0],row[3]) #(stationid,parameter)
date_time = dateutil.parser.parse("{} {}".format(row[1],row[2]))
data_value = (datetime.isoformat(date_time),row[4])
#print(data_value)
#rolled_up_data.setdefault(data_id, []).append(data_value)
rolled_up_data.setdefault(data_id, {}).setdefault('values',[]).append(data_value)
for k,v in rolled_up_data.items():
count = len(v['values'])
rolled_up_data[k]['count']=count
return rolled_up_data
评论列表
文章目录