введите описание изображения здесь
(я обычно просто читаю по-английски, извините за неправильное написание)
Я хочу, чтобы column C
был нарисован как column A
с объединением двух строк одного цвета.Как я слил и форматировал column A
:
def mergeRows(worksheet, first_row, col, how_many, rows_to_merge=2, value=None, format=None):
if type(value) in (int, str) or value is None:
[worksheet.merge_range(row, col, row + rows_to_merge - 1, col, value, format)
for row in range(first_row, ((how_many * rows_to_merge) + first_row), rows_to_merge)]
else:
[worksheet.merge_range(row, col, row + rows_to_merge - 1, col, value[i], format)
for i, row in enumerate(range(first_row, ((how_many * rows_to_merge) + first_row), rows_to_merge))]
row = 4
mergeRows(worksheet, first_row=row+1, col=0, how_many=d['n_sensors'], value=list(range(d['n_sensors'])), format=formats['sensor'])
mergeRows(worksheet, first_row=row+1, col=1, how_many=d['n_sensors'], format=formats['column'])
mergeRows(worksheet, first_row=row+1, col=2, how_many=d['n_sensors'], format=formats['column'])
worksheet.conditional_format(row + 1, 0, row + 1 + d['n_sensors'] * 2, 0, {'type': 'formula',
'criteria': '=MOD(ROW(),4) = 0',
# format if the row number % 4 == 0.
'format': formats['sensor_blue']})
Но я не уверен, как сделать это с color scale
, потому что те же критерии, что и в column A
, не работают для color scale
в column C
:
worksheet.conditional_format(row+1, 2, row +1 +(d['n_sensors']*2), 2, {'type': '3_color_scale',
'min_color': 'green',
'mid_color': 'yellow',
'max_color': 'red',
'criteria': '=MOD(ROW(),4) = 0'})
код:
for sensor, samples in enumerate(x_test):
############################### Classifica e preenche os valores de cada sensor ###############################
y = model.predict(samples)
n_outliers = 0
if samples.shape[1] == 2:
for group in range(0, len(y)):
if y[group] == 1:
worksheet.write(row + 1 + sensor*2, group + 5, samples[group][0], formats['pp_approved'])
worksheet.write(row + 2 + sensor*2, group + 5, samples[group][1], formats['std_approved'])
else:
n_outliers += 1
worksheet.write(row + 1 + sensor*2, group + 5, samples[group][0], formats['pp_reproved'])
worksheet.write(row + 2 + sensor*2, group + 5, samples[group][1], formats['std_reproved'])
worksheet.write_comment(row + 1 + sensor*2, group + 5,
" CANAL {}\n\n{}\n\n{}".format(sensor,
convertTime(groups_time[0, group], timezone.utc).strftime("%Y.%m.%d %H:%M:%S.%f")[:-3],
convertTime(groups_time[1, group], timezone.utc).strftime("%Y.%m.%d %H:%M:%S.%f")[:-3]))
#TODO Corrigir o tempo.
############################################## Coluna de Alerta ##############################################
if n_outliers < args.alert:
n_approv += 1
worksheet.write(row + 1 + sensor*2, 2, n_outliers)
worksheet.conditional_format(row+1, 2, row +1 +(d['n_sensors']*2), 2, {'type': '3_color_scale',
'min_color': 'green',
'mid_color': 'yellow',
'max_color': 'red',
'criteria': '=MOD(ROW(),4) = 0'})