gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 22:20:19 25 4
gpt4 key购买 nike

我在 Excel 中有一个数据框 df,其中包含我希望与以前的值进行比较的值。如果当前值与之前的值不同,我希望突出显示 excel 中的单元格。
这是我的数据:

COL1  match
9 1 False
8 3 False
2 2 True
3 1 False
4 2 False
5 2 False
期望的结果:
df['match'] = df.COL1.eq(df.COL1.shift())
print (df)


COL1 match
9 1 False
8 3 False
2 2 True
3 1 False
4 2 False
5 2 False
并突出显示 Excel 中的“假”值
这就是我正在做的事情:
import xlsxwriter
workbook = 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 中与先前值不匹配的任何单元格。我目前正在研究。
非常感谢任何建议。
更新
这就是我所做的:
 workbook = xlsxwriter.Workbook('Book1.xlsx')
worksheet = workbook.add_worksheet()



cell_format = workbook.add_format()


cell_format.set_pattern(1) # This is optional when using a solid fill.
cell_format.set_bg_color('green')

for index, row in df.iterrows():
if row.Row1 == row.Row2:
worksheet.write("B"+str(index+1), 'Ray', cell_format)




df.to_excel('test.xlsx')

最佳答案

您可以通过对单元格应用 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()
输出 :
enter image description here

关于python - 将新值与以前的值进行比较,如果在 Excel 中不相同则标记(使用 Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64359327/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com