【Python】将xlsx表格中的特定数据标红

原表格是这样:

 【按列】将姓名为“韩立“,年龄大于14的标红

import openpyxl
from openpyxl.styles import Font

workbook = openpyxl.load_workbook(r"C:\Users\PC\Desktop\PYTHON项目\01.xlsx") #打开xlsx表格文件获取工作表
worksheet = workbook.active  #获取第一个工作表

for row in worksheet.iter_cols(min_row=2):  #遍历工作表的每一列,从第二行开始;worksheet.iter_rows为行遍历
    #print(row[1].value) #第1列
    for cell in row:
        if cell.column == 2:#第2列
            if cell.value > 14:
                cell.font = Font(color="FF0000")  # 设置字体颜色为红色
        if cell.column == 1:#第1列
            if cell.value == "韩立":   #判断数据是否满足标红条件
                cell.font = Font(color = "FF0000")  #设置字体颜色为红色
workbook.save(r"C:\Users\PC\Desktop\PYTHON项目\03.xlsx")  #保存修改

保存结果:

【按行】将姓名为“韩立“,的年龄、职业分别标红、标绿、标蓝

import openpyxl
from openpyxl.styles import Font

workbook = openpyxl.load_workbook(r"C:\Users\PC\Desktop\PYTHON项目\01.xlsx") #打开xlsx表格文件获取工作表
worksheet = workbook["sheet"] #表名为“sheet”的工作表
for row in worksheet.iter_rows(min_row=2): #遍历工作表的每一行,从第2行开始
    print(row[0].value)
    if row[0].value == "韩立":  #如果该行第一个数据为"韩立"
        row[0].font = Font(color="FF0000")  # 设置该行第一列字体颜色为红色
        row[1].font = Font(color="00FF00")  # 设置该行第二列字体颜色为绿色
        row[2].font = Font(color="87cefa")  # 设置该行第三列字体颜色为蓝色
workbook.save(r"C:\Users\PC\Desktop\PYTHON项目\test.xlsx")  #保存修改

结果如下:

 【标红单元格】

import openpyxl
from openpyxl.styles import Font  #单元格字体
from openpyxl.styles import PatternFill  #单元格背景

workbook = openpyxl.load_workbook(r"/home/user/桌面/01.xlsx") #打开xlsx表格文件获取工作表
worksheet = workbook.active  #获取第一个工作表

for row in worksheet.iter_rows(min_row=2):  #遍历工作表的每一列,从第二行开始;worksheet.iter_rows为行遍历
    print(row[0].value) #第1列
    if row[0].value == "韩立":  # 如果该行第一个数据为"韩立"
        row[0].font = Font(color="FF0000")  # 设置该行第一列字体颜色为红色
        row[1].font = Font(color="00FF00")  # 设置该行第二列字体颜色为绿色
        row[2].fill = PatternFill(fgColor="FF0000",bgColor="FF0000",patternType="solid")  # 设置该行第三列单元格颜色为红色

workbook.save(r"/home/user/桌面/标红的数据.xlsx")  #保存修改

 结果如下:

 

posted @ 2023-12-27 11:41  山鬼谣`  阅读(767)  评论(0)    收藏  举报