详解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"的单元格背景色为绿色。
热门推荐
中医治好了我的干眼症
晕电动汽车的解决方案:知识科普是最有用的方法
新“国九条”对可转债市场影响几何?
怎样「冥想」才是有效的?|10日冥想入门体验
1972年至2024年美股与黄金之间的对冲关系
健身族常说的“核心力量”到底是什么?
道教神秘的辟谷术
无“铅”无挂!九八六医院开展首例零射线房颤射频消融术
第十批集采之后,两张图看明白医疗行业趋势:医保控费之下的未来出清与创新隐忧
电梯的“寿命密码”:十五年电梯,该大修还是换新?
如何画好功能流程图?只需5分钟,7张案例图帮你快速入门!
海南多市县发布春节烟花爆竹燃放管控通告
高考650分难度有多大?高考650分需要天赋吗?
胰腺炎患者饮食指南:医生的专业建议
公司告员工造成损失要怎么举证
结婚的前夜:洞房花烛下的甜蜜与期待
孩子的学习电子产品是不是真“护眼”?请家长们查收这份硬核科普
SEO标题优化指南:如何写出既吸引搜索引擎又打动用户的标题?
如何运用均线策略在股市中操作
CNC系统升级指南:如何选择最合适的控制系统
小白学机器学习:Z检验详解
曼联vs德比历史:争议与传说
《刻意练习》:通往卓越之路的科学指南
网飞版《三体》辱华?这是最恶心的打开方式
知名的国际快递公司及其特点(国际快递公司简介)
劳动经济学专业就业前景、考研方向、优势与劣势全解析
高度近视致盲,近7000万人面临的失明风险
如何通过项目管理提升婚礼策划的效率?
东皇太一:从神话到现代文化的演变
放松身体、改善睡眠质量的妙招