Apple iPhone 11 (A2223) 128GB 黑色 移动联通电信4G手机 双卡双待
4999元包邮
去购买 >
需求介绍
本人的excel数据是之前通过pandas导出的,现在有个需求就是对excel某一列的每个单元格的值进行判断,如果这个值在某一区间内,那么就给这个单元格填充响应的背景颜色。在使用pandas的过程中发现pandas好像并不能实现此功能,所以在假期期间学习了一下openpyxl,使用它操作excel真是太爽了。
数据形式
代码
from openpyxl import load_workbook
from openpyxl.styles import PatternFill
wb = load_workbook("airquality.xlsx")
# 默认选择第一张sheet表
ws = wb.active
# 选取数据区
cells = ws.iter_rows(min_row=2, min_col=6, max_col=6)
# 构建颜色对象,start_color表示前景色,end_color表示背景色。
green_fill = PatternFill("solid", start_color='00E400')
yellow_fill = PatternFill("solid", start_color='FFFF00')
orange_fill = PatternFill('solid', start_color='FF7E00')
red_fill = PatternFill('solid', start_color='FF0000')
pink_fill = PatternFill('solid', start_color='99004C')
maroon_fill = PatternFill('solid', start_color='7E0023')
for i in cells:
# 每行的内容是元组,每个元组只有一个单元格,所以取第一项的value,然后转为int型
value = int(i[0].value)
if value <= 50:
i[0].fill = green_fill
elif 50 < value <= 150:
i[0].fill = yellow_fill
elif 150 < value <= 200:
i[0].fill = orange_fill
elif 200 < value <= 250:
i[0].fill = pink_fill
else:
i[0].fill = maroon_fill
wb.save("new_sheet.xlsx")
wb.close()
最后处理过后的excel为这个样子。
如果觉得《python填充excel单元格颜色_openpyxl给excel填充颜色》对你有帮助,请点赞、收藏,并留下你的观点哦!