Python Excel突出显示单元格差异

Posted

技术标签:

【中文标题】Python Excel突出显示单元格差异【英文标题】:Python Excel Highlight Cell Differences 【发布时间】:2017-10-02 23:56:08 【问题描述】:

前言:我是新手,自学成才。这是我的第一个编码项目。我知道这很可怕。一旦它完成并工作,我将重写它。

我正在尝试编写一个 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']

【讨论】:

以上是关于Python Excel突出显示单元格差异的主要内容,如果未能解决你的问题,请参考以下文章

通过双击突出显示 MS excel 2007 中的单元格

Excel用底纹突出单元格的数据给Excel单元格添加底纹效果

仅在 Excel 中突出显示具有值的单元格的顶行 |微软访问

在选定 Excel 列的单元格中查找并突出显示重复的单元格和文本字符串

使用 openxlsx 按单元格填充颜色过滤 Excel 中突出显示的数据

当单元格具有特定单词时,突出显示 excel mac 2011 中的行