- for t in report_times:
- columns.append('{}.'.format(d.day))
- row_cells = []
- for d in days_datetime:
- report_datetime = datetime.datetime.combine(d.date(), t)
- closest_index = np.argmin(np.abs(x - report_datetime))
- if abs(x[closest_index] - report_datetime) > datetime.timedelta(hours=1):
- cell = 'N/A'
- else:
- value = y[closest_index]
- cell = '{:.1f}'.format(value)
- row_cells.append(cell)
- cells.append(row_cells)
+ for label, data in sorted(report_data.items(), reverse=True):
+ for t in report_times:
+ row_cells = []
+ x, y = data
+ for d in days_datetime:
+ report_datetime = datetime.datetime.combine(d.date(), t)
+ closest_index = np.argmin(np.abs(x - report_datetime))
+ if abs(x[closest_index] - report_datetime) > datetime.timedelta(hours=1):
+ cell = 'N/A'
+ else:
+ value = y[closest_index]
+ cell = '{:.1f}'.format(value)
+ row_cells.append(cell)
+ cells.append(row_cells)