2017-07-26 155 views
0

因此,我正在寫一個python腳本,它可以識別excel中某些列中的關鍵字。我想添加功能來突出顯示/更改關鍵字的顏色,當我找到它們時。使用openpyxl突出顯示關鍵字

for i in self.data: 
    wb = openpyxl.load_workbook(i) 
    sheet = wb.active 
    store_keyword = self.whichColumnEntry.get() 
    keyword_column = self.whichSearchColumnEntry.get() 
    keyword = self.keywordEntry.get() 
    sheet[store_keyword + '1'] = 'Keyword' 
    for row in range(2, sheet.max_row + 1): 
     test = sheet[keyword_column + str(row)].value 
     if test.find(keyword) >= 0: 
      sheet[store_keyword + str(row)] = keyword 
      times_found += 1 
    wb.save(i) 

這是我到目前爲止使用的代碼。如果它在單元格中找到關鍵字,則會將該關鍵字添加到電子表格末尾的新列中。有什麼方法可以突出顯示關鍵字嗎?

謝謝!

回答

0

突出顯示如何? 更改單元格顏色?

openpyxl文檔:http://openpyxl.readthedocs.io/en/default/styles.html

例如下面應該會生成一個黃色單元格,其中包含關鍵字:

from openpyxl.styles import colors 

#... some code... 

    mycell = sheet[store_keyword + str(row)] 
    mycell.value = keyword 
    mycell.fill = PatternFill("solid", fgColor=colors.YELLOW) 
+0

我想突出顯示實際的單詞。或者改變單詞的顏色。每個單元格中都有段落,所以突出顯示整個單元格不起作用。 感謝您的回覆! – Lucas

+0

Excel現在支持單元格級別下的格式。不過,我相信這是相當新的。我不相信openpyxl支持這一點。 – Baldrickk

+0

球。不管怎麼說,多謝拉! – Lucas

相關問題