【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") #保存修改
结果如下: