Python-封装-excel-写-预期结果和实际结果对比并标注颜色

写一个excel,4列:编号,预期结果,实际结果,执行结果。然后预期结果和执行结果写入相同或不同的值,作比较,相同的值则执行结果通过,否则失败,并且用不同的颜色标注,在第四列写入对应的结果

总共2个表

第一个表:生成表和数据

#第一步:新建一个表 import openpyxl wb=openpyxl.Workbook() wb.save('zuoye.xlsx') #第二步:插入一个sheet表 import openpyxl wb=openpyxl.load_workbook('zuoye.xlsx') wb.create_sheet('bijiao',0) wb.save('zuoye.xlsx') #第三步:插入3列表头 import openpyxl wb=openpyxl.load_workbook('zuoye.xlsx') sh=wb['bijiao'] sh.cell(row=1,column=1).value='编号' sh['B1']='预期结果' sh['C1']='实际结果' wb.save('zuoye.xlsx') #第四步:插入列表 import openpyxl wb=openpyxl.load_workbook('zuoye.xlsx') sh=wb['bijiao'] list=[[1,'a','b'],[2,'a','a'],[3,'a','b'],[4,'b','b'],[5,'b','a'],[6,'b','c']] for row in list:     sh.append(row)     wb.save('zuoye.xlsx') #第五步:插入最后一个表头执行结果 import openpyxl wb=openpyxl.load_workbook('zuoye.xlsx') sh=wb['bijiao'] sh['D1']='执行结果' wb.save('zuoye.xlsx')

第二个表:封装运算

import os import openpyxl from openpyxl.styles import Font class ZuoYe:     def __init__(self):         self.wb = None         self.sh = None         self.filename = None         self.lines=[]  #打开表     def open_excel(self,filename):          if os.path.isfile(filename):             if filename.endswith('xlsx'):                 self.wb = openpyxl.load_workbook(filename)                 self.filename = filename                 print('excel文件打开成功')             else:                 print('文件名后缀不正确')                 return         else:             print('传入的参数不正确,请检查!')             return #找到sheet页     def choose_sheet(self, sheet_name):         if sheet_name in self.wb.sheetnames:             self.sh = self.wb[sheet_name]  #值和值之间对比     def Compare_b_c(self):         i=2         while True:             if self.sh['B' + str(i)].value==None and self.sh['C' + str(i)].value == None:                 break              if self.sh['B'+str(i)].value==self.sh['C'+str(i)].value:                 self.sh['D'+str(i)]='通过'                 color = '0000FF'                 font=Font(color=color)                 self.sh['D'+str(i)].font = font             else:                 self.sh['D'+str(i)]='失败'                 color = 'FFFF00'                 font = Font(color=color)                 self.sh['D' + str(i)].font = font             i+=1        def save_excel(self,filename=None):         if filename is None:             self.wb.save(self.filename)         else:             self.wb.save(filename)   a=ZuoYe() a.open_excel('zuoye.xlsx') a.choose_sheet('bijiao') a.Compare_b_c() a.save_excel()