[英]Xlsxwriter conditional formatting after identifying rows with criteria
下午好,
我試圖用 xlsxwriter 更改條件格式。
我能夠這樣做使用
percent_format = workbook.add_format({'num_format': '0%', 'align': 'center', 'border': 1})
worksheet.conditional_format('B1:J%d' % (number_rows),
{"type": "formula",
"criteria": '=INDIRECT("B"&ROW())="THISROW"',
"format": percent_format
})
通過這一步,我可以分配任何正常的格式,如粗體、居中等
但我需要對這些行應用條件格式,如 3 色標等
我想我的問題是如何創建一組單元格范圍,然后在它們上應用 3 顏色條件格式。
謝謝!
編輯1:
添加更多信息:
我想對列中匹配 THISROW 的行應用 3 色條件格式
至 C5:D5 C9:D9 C13:D13
如果你特別想要一個 3 色標,它是
worksheet7.conditional_format('I3:I14', {'type': '3_color_scale',
'min_color': "#C5D9F1",
'mid_color': "#8DB4E3",
'max_color': "#538ED5"})
在此處查看示例: https://xlsxwriter.readthedocs.io/example_conditional_format.html
如果您想要一個更復雜的 output 就像您的公式建議的那樣,那么您做得正確,但您需要重復多次(就像在 Excel 中一樣)。 如果您的公式不起作用,可能是因為 Excel 公式在 Excel 中不起作用。
這個
'=INDIRECT("B"&ROW())="THISROWS"'
是兩個不需要的易失性函數。 如果您不將 $ 放在單元格的地址中,則 position 已經是相對的。 因此,如果你在 B3 開始你的區域並在 F15 結束它,例如,如果你寫
'=B3="THISROWS"'
然后在 B4 中,您代碼中的 B3 將被 B4 替換。 如果您需要它在行中移動而不是在列中移動,請寫入:
'=$B3="THISROWS"'
這不是我打算解決這個問題的方式,而是使用 xlxswriter package .. 但這里我們是 go。
color_format = workbook.add_format({'bold': True, 'color': 'red'})
for i in range(len(df.index)/5):
worksheet.conditional_format('C{}:D{}'.format(5+4*i,5+4*i), {'type': 'cell',
'criteria': '>=',
'value': 1,
'format': color_format})
我很慚愧這樣做......現在任何超過1的東西都會變成紅色......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.