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突出显示单元格差异的主要内容,如果未能解决你的问题,请参考以下文章
Excel用底纹突出单元格的数据给Excel单元格添加底纹效果
仅在 Excel 中突出显示具有值的单元格的顶行 |微软访问
在选定 Excel 列的单元格中查找并突出显示重复的单元格和文本字符串