下面的腳本通過將包含keyword1 的 Excel 行突出顯示為 red來按預期作業。
import xlsxwriter
workbook = xlsxwriter.Workbook('conditional_format.xlsx')
worksheet1 = workbook.add_worksheet()
# Keyword
keyword1 = 'red'
keyword2 = 'yellow'
# Add a format. Light red fill with dark red text.
red_colour = workbook.add_format({'bg_color': '#FFC7CE',
'font_color': '#9C0006'})
data = [
['grape', 'Smooth skin either green, red or black in colour'],
['banana', 'peelable yellow skin'],
['apple', 'red or green skin fruit'],
['melon', 'refreshing yellow or red flesh fruit'],
]
# Write the data.
for row, row_data in enumerate(data):
worksheet1.write_row(row 0, 0, row_data)# (row, column, data)
worksheet1.conditional_format('A1:B4', {'type': 'text',
'criteria': 'containing',
'value': keyword1,
"format": red_colour})
workbook.close()
輸出

要求
我需要一種擴展此腳本的方法,以便在找到關鍵字 1 和關鍵字 2 時搜索并突出顯示所有行。
因此,在此示例中,僅應突出顯示第 4 行,因為它包含分別由關鍵字 1 和關鍵字 2 定義的紅色和黃色實體。
提前致謝。

uj5u.com熱心網友回復:
我不確定您是否可以使用文本條件執行此操作,但您應該能夠使用公式條件執行此操作,如下所示:
formula = '=AND(ISNUMBER(SEARCH("red",B1)),ISNUMBER(SEARCH("yellow",B1)))'
worksheet1.conditional_format('$B$1:$B$4', {'type': 'formula',
'criteria': formula,
"format": red_colour})
您可能不得不使用絕對參考與相對參考,或者(令人討厭地)使用絕對參考遍歷所有相關單元格,因為 xlsxwriter 并不總是正確處理條件格式的相對參考,但這樣的事情應該可以作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/518307.html
標籤:Pythonpython-3.x擅长xlsxwriter
上一篇:代碼跳過If并立即轉到Else
