Python XlsxWriter – 条件性格式化

Python XlsxWriter – 条件性格式化

Excel使用 条件格式化 来根据用户定义的标准改变一个区域中的单元格的外观。从条件格式化菜单中,可以定义涉及各种类型数值的标准。

Python XlsxWriter - 条件性格式化

在下图所示的工作表中,A列有不同的数字。小于50的数字以红色字体和灰色背景颜色显示。

Python XlsxWriter - 条件性格式化

这是通过定义下面的条件格式化规则实现的—

Python XlsxWriter - 条件性格式化

conditional_format()方法

在XlsxWriter中,Worksheet类中定义了一个 conditional_format() 方法。为了实现上述结果, conditional_format() 方法被调用,如下代码所示

import xlsxwriter

wb = xlsxwriter.Workbook('hello.xlsx')
ws = wb.add_worksheet()

data=[56,95,63,34,81,47,74,5,99,12]
row=0

for num in data:
   ws.write(row,0,num)
   row+=1
f1 = wb.add_format({'bg_color': '#D9D9D9', 'font_color': 'red'})
ws.conditional_format(
   'A1:A10',{
      'type':'cell', 'criteria':'<', 'value':50, 'format':f1
   }
)
wb.close()

参数

conditional_format() 方法的第一个参数是单元格区域,第二个参数是条件格式化选项的字典。

选项字典用以下参数配置条件格式化规则-

类型 选项是一个必要参数。它的值可以是单元格、日期、文本、公式等。每个参数都有子参数,如标准、值、格式等。

  • 类型 是最常见的条件格式化类型。当根据一个简单的标准将格式应用于一个单元格时,它就会被使用。

  • Criteria 参数设置单元格数据的评估条件。所有的逻辑运算符,以及之间和非之间的运算符都是标准参数的可能值。

  • **Value ** 参数是形成规则的标准的操作数。

  • Format ** 参数是格式对象(由 **add_format() 方法返回)。它定义了格式化特征,如字体、颜色等,将应用于满足条件的单元格。

日期 类型与单元格类型类似,使用相同的标准和值。然而,值参数应该是作为一个 日期时间 对象给出的。

文本 类型指定Excel的 “特定文本 “风格的条件格式。它用于使用标准和值参数进行简单的字符串匹配。

例子

当使用 公式 类型时,条件格式化取决于一个用户定义的公式。

import xlsxwriter

wb = xlsxwriter.Workbook('hello.xlsx')
ws = wb.add_worksheet()

data = [
   ['Anil', 45, 55, 50], ['Ravi', 60, 70, 80],
   ['Kiran', 65, 75, 85], ['Karishma', 55, 65, 45]
]   
for row in range(len(data)):
   ws.write_row(row,0, data[row])

f1 = wb.add_format({'font_color': 'blue', 'bold':True})

ws.conditional_format(
   'A1:D4',
   {
      'type':'formula', 'criteria':'=AVERAGE(B1:D1)>60', 'value':50, 'format':f1
   })
wb.close()

输出

用MS Excel打开结果的工作簿。我们可以看到,根据格式对象,满足上述条件的行以蓝色显示。条件格式规则管理器也显示了我们在上述代码中设置的标准。

Python XlsxWriter - 条件性格式化

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程