为了账号安全,请及时绑定邮箱和手机立即绑定

将新值与之前的值进行比较,如果在 Excel 中不相同则进行标记(使用 Python)

将新值与之前的值进行比较,如果在 Excel 中不相同则进行标记(使用 Python)

PHP
潇潇雨雨 2023-11-09 16:42:34
我在 Excel 中有一个数据框 df,其中包含我希望与以前的值进行比较的值。如果当前值与之前的值不比较,我希望突出显示 Excel 中的单元格。这是我的数据:COL1  match9     1  False8     3  False2     2  True3     1  False4     2  False5     2  False期望的结果:df['match'] = df.COL1.eq(df.COL1.shift())print (df)COL1  match9     1  False8     3  False2     2  True3     1  False4     2  False5     2  False并突出显示 Excel 中的“False”值这就是我正在做的:import xlsxwriterworkbook = xlsxwriter.Workbook('c:\\temp\\df.xlsx')worksheet = workbook.add_worksheet()def highlight_cells():return ['background-color: yellow']df.style.apply(highlight_cells)     df['match'] = df.COL1.eq(df.COL1.shift())我不确定如何将所有这些放在一起,最终突出显示 Excel 中与以前的值不匹配的任何单元格。我目前正在研究。任何建议都将不胜感激。
查看完整描述

1 回答

?
弑天下

TA贡献1818条经验 获得超8个赞

您可以通过对单元格应用 Excel 条件格式来实现此目的,如下所示:


import pandas as pd



# Create a Pandas dataframe from some data.

df = pd.DataFrame({'Data1': [10, 20, 30, 20, 15, 30, 45],

                   'Data2': [11, 20, 30, 21, 15, 31, 45]})


# Create a Pandas Excel writer using XlsxWriter as the engine.

writer = pd.ExcelWriter('pandas_conditional.xlsx', engine='xlsxwriter')


# Convert the dataframe to an XlsxWriter Excel object.

df.to_excel(writer, sheet_name='Sheet1')


# Get the xlsxwriter workbook and worksheet objects.

workbook  = writer.book

worksheet = writer.sheets['Sheet1']


# Add a format. Green fill with dark green text.

green_format = workbook.add_format({'bg_color': '#C6EFCE',

                                    'font_color': '#006100'})


# Apply a conditional format to the cell range.

worksheet.conditional_format(1, 2, 7, 2, {'type':     'cell',

                                          'criteria': 'equal to',

                                          'value':    '=$B2',

                                          'format':   green_format})


# Close the Pandas Excel writer and output the Excel file.

writer.save()

输出:

https://img1.sycdn.imooc.com/654c9ba90001706704590335.jpg

查看完整回答
反对 回复 2023-11-09
  • 1 回答
  • 0 关注
  • 102 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信