Python Excel突出显示单元格差异

时间:2017-05-04 17:13:55

标签: python excel highlight difference

前言:我是新人,也是自学成才。这是我的第一个编码项目。我知道这太可怕了。一旦完成并正常工作,我就会重写它。

我试图编写一个python脚本来比较2个excel文件并突出显示不同的单元格。我可以打印出差异(使用pandas)并突出显示一个单元格(仅通过对特定单元格进行硬编码)。我无法根据打印出的差异来弄清楚如何突出显示细胞。

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 个答案:

答案 0 :(得分:1)

您可以使用该样式在pandas中为数据框添加突出显示。

df2.style.apply(highlight_differences)

然后你可以编写一个设置突出显示标准的功能

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