详解xlsxwriter中conditional_format函数的高级应用
创作时间:
作者:
@小白创作中心
详解xlsxwriter中conditional_format函数的高级应用
引用
CSDN
1.
https://blog.csdn.net/liwenxiang629/article/details/138673004
在实际工作中,我们经常会遇到需要根据单元格的值或文本内容进行条件格式化的需求。本文将详细介绍如何使用xlsxwriter库中的conditional_format函数,实现这一功能。
在之前的文章中,我们已经介绍了xlsxwriter的基础API使用。在实际工作中,我们经常会遇到这样的需求:当单元格满足某个条件时,对其进行特定的格式化处理。这时候我们可以使用conditional_format函数,它允许我们根据特定条件将格式应用于单元格或单元格区域,从而避免通过大量的条件语句来实现Excel中的条件过滤功能。
conditional_format函数说明
def conditional_format(self, first_row, first_col, last_row, last_col, options=None):
"""
Add a conditional format to a worksheet.
Args:
first_row: The first row of the cell range. (zero indexed).
first_col: The first column of the cell range.
last_row: The last row of the cell range. (zero indexed).
last_col: The last column of the cell range.
options: Conditional format options.
Returns:
0: Success.
-1: Row or column is out of worksheet bounds.
-2: Incorrect parameter or option.
"""
其中,first_row、first_col、last_row、last_col参数用于指定要格式化的单元格范围。我们重点需要关注options参数,它包含多个可以自定义的选项:
type: 指定条件格式的类型format: 格式对象criteria: 条件表达式value: 值minimum: 最小值maximum: 最大值
其他参数还包括:
min_type,mid_type,max_typemin_value,mid_value,max_valuemin_color,mid_color,max_colorbar_color,bar_only,bar_solidbar_negative_color,bar_border_colorbar_negative_border_color,bar_negative_color_samebar_negative_border_color_same,bar_no_borderbar_direction,bar_axis_position,bar_axis_colordata_bar_2010,icon_style,iconsreverse_icons,icons_only,stop_if_truemulti_range
这里我们重点讲解type参数。
Type: cell
当type为cell时,表示对单元格生效。常用的criteria包括:
'criteria': '<''criteria': '<=''criteria': '>''criteria': '>=''criteria': 'between''criteria': 'not between'
Type: text
当type为text时,用于指定Excel的“特定文本”样式条件格式的匹配:
worksheet.conditional_format('A1:A4', {
'type': 'text',
'criteria': 'containing',
'value': 'foo',
'format': format1
})
常用的criteria还包括:
'criteria': 'containing''criteria': 'not containing''criteria': 'begins with''criteria': 'ends with'
代码实例
我们通过下面的demo来进行演示:
实例 Type: cell
import xlsxwriter
workbook = xlsxwriter.Workbook('test2.xlsx')
worksheet = workbook.add_worksheet()
fill_yellow = workbook.add_format({'bg_color': 'FFAA33'})
fill_red = workbook.add_format({'bg_color': 'FF3333'})
fill_green = workbook.add_format({'bg_color': '00CC66'})
worksheet.conditional_format('A1:C1', {
"type": "cell",
"criteria": "<",
"value": 50,
"format": fill_red
})
worksheet.conditional_format('A1:C1', {
"type": "cell",
"criteria": "between",
"minimum": 50,
"maximum": 89,
"format": fill_yellow
})
worksheet.conditional_format('A1:C1', {
"type": "cell",
"criteria": ">=",
"value": 90,
"format": fill_green
})
worksheet.write_row(0, 0, [49, 60, 90])
workbook.close()
输出效果如下:
实例 Type: text
在上面代码的基础上增加:
worksheet.conditional_format('A2:C2', {
'type': 'text',
'criteria': 'containing',
'value': 'kevin',
'format': fill_green
})
worksheet.write_row(1, 0, ['kevin', 'mike', 'tony'])
执行代码后可以看到Excel里,包含"kevin"的单元格背景色为绿色。
热门推荐
马来酸曲美布汀:肠胃健康的智能调节剂
肠胃不适?马来酸曲美布汀来帮忙!
大S去世后,具俊晔的婚姻与生活将何去何从?
大S经典角色杉菜:偶像剧女王的传奇人生
区块链技术在汽车节油领域的应用前景:以逍客省油驾驶为例
流感流行季,这样做能有效预防并增强免疫力
专家解读:当前流感病毒特点及疫苗接种建议
茶叶蛋怎么做才入味又好吃
王宝强凭《唐探1900》成影史第一人!
暑假打卡:从张骞墓到武侯祠
汉中石门栈道:千年古道见证历史,自然人文交相辉映
冬游汉中:从古迹到自然的完美邂逅
世界海洋日 | 海洋值得被深爱的9个理由
10个创业成功案例
2024年热门高薪职业,你想知道的都在这里!
从大陆漂移到板块构造:人类对地球认知的不断进步
跟着网红导游小杰探秘西安三日游的历史文化景点!
西安三日游:打卡网红景点,吃遍地道美食!
过了这个年纪,肌肉会快速流失!很多人不注意,直到跌倒、骨折、不能自理……
45岁后,如何避免加速衰老,提升生命质量?做好6个方面很重要
如何煮茶叶蛋才好吃,这个做法真简单!
《沉默的羔羊》里的声音魔法:你get到了吗?
南怀瑾揭秘十二生肖:简单AI帮你找到运势密码
黄帝选生肖:十二生肖的起源与文化内涵
本命年:一个轮回,一次重生
从心理角度解析:龙兔CP能否修成正果?
龙兔婚配禁忌,这些方法帮你化解!
微信又双叒叕登不上了?这些绝招帮你轻松解决!
微信安全新攻略:防骗小技巧大揭秘!
博爱动物医院教你解决猫拒食难题