2017-05-04 143 views
2

前言:我是新人,自學成才。這是我的第一個編碼項目。我知道這太可怕了。一旦它完成並工作,我將重寫它。Python Excel突出顯示細胞差異

我想寫一個python腳本,將比較2個excel文件,並突出顯示不同的單元格。我可以打印出差異(使用熊貓)並突出顯示一個單元格(僅通過硬編碼特定單元格)。我無法弄清楚如何根據打印出的差異來突出顯示單元格。

df1 = pd.read_excel(mxln) # Loads master xlsx for comparison 
df2 = pd.read_excel(sfcn) # Loads student xlsx for comparison 
print('If NaN, correct. If not NaN, incorrect') 
difference = df2[df2 != df1] # Scans for differences 
print(difference) 

lmfh = load_workbook(mxln) # Load mxln for highlight 
lsfh = load_workbook(sfcn) # Load sfcn for highlight 
lmws = lmfh.active 
lsws = lsfh.active 

redFill = PatternFill(start_color='FFEE1111', end_color='FFEE1111', fill_type='solid') 
lsws['A1'].fill = redFill # Hardcoded cell color 
lsfh.save(sfcn) 

這只是我卡在代碼的一部分。如有必要,我可以發佈其餘的內容。

回答

1

您可以使用該樣式向pandas中的數據框添加突出顯示。

df2.style.apply(highlight_differences) 

然後,你可以寫一個設置突出標準的函數

def highlight_differences(): 
    # check for differences here 
    return ['background-color: yellow']