请求python代码需求:某一个单元格的值查询在其它一列数据中是否有重复如果有重复用颜色进行标记并在第一个重复值出现的单元格备注重复的数量。
以下是一个简单的示例代码,实现了你的需求:
import pandas as pd
import openpyxl
from openpyxl.styles import PatternFill
# 读取excel文件
df = pd.read_excel('data.xlsx')
# 设置重复值标记的颜色
fill_color = PatternFill(start_color='FFFF00', end_color='FFFF00', fill_type='solid')
# 获取需要查找重复值的列和单元格
column_to_check = 'Column B'
cell_to_check = 'B2'
# 获取需要标记的列和单元格
column_to_mark = 'Column A'
cell_to_mark = 'A2'
# 查找重复值
duplicates = df[df.duplicated(subset=[column_to_check], keep=False)]
# 标记重复值
for index, row in duplicates.iterrows():
ws[cell_to_mark.format(index+2)].fill = fill_color
# 在第一个重复值出现的单元格备注重复的数量
for index, row in duplicates.iterrows():
if index == duplicates.index[0]:
ws[cell_to_mark.format(index+2)].comment = openpyxl.comments.Comment(f'{len(duplicates)} duplicates found')
# 保存excel文件
wb.save('data.xlsx')
其中,data.xlsx是包含数据的excel文件,Column A和Column B是数据所在的两列。在代码中,我们设置了需要查找重复值的列为Column B,需要标记重复值的列为Column A,需要查找重复值的单元格为B2,需要标记重复值的单元格为A2。代码会在第一次出现重复值的单元格添加一个注释,说明有多少个重复值。
原文地址: https://www.cveoy.top/t/topic/q3o 著作权归作者所有。请勿转载和采集!