2017-05-04 1 views
2

序文:私は新しく自己教えです。これが私の最初のコーディングプロジェクトです。私はそれがひどいことを知っています。私はそれが完了し、動作したら書き直すつもりです。Python Excelのハイライトセルの相違点

私は2つのExcelファイルを比較し、異なるセルを強調表示するpythonスクリプトを作成しようとしています。私は違いを印刷して(パンダを使って)、セルを強調表示することができます(特定のセルをハードコーディングすることによってのみ)。私は、印刷された違いに基づいて細胞をどのように強調表示するかを理解することはできません。

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

このスタイルを使用して、パンダのデータフレームにハイライトを追加することができます。

df2.style.apply(highlight_differences) 

次に、あなたがハイライト表示の基準を設定する関数を書くことができます

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