利用OpenPyXL实现Excel条件格式化

简介: 本文介绍如何使用Python的`openpyxl`库为Excel文件添加条件格式,包括颜色渐变、图标集、数据条及基于公式的规则等,提升数据可读性和美观度。通过具体示例,展示了从安装库、加载文件到应用各种条件格式的详细过程,最后保存修改后的文件。

利用OpenPyXL实现Excel条件格式化

引言

在数据分析和报表制作中,合理使用Excel的条件格式功能可以显著提升数据的可读性和美观度。通过Python中的openpyxl库,我们可以轻松地对Excel工作簿应用复杂的条件格式设置。本文将详细介绍如何使用openpyxl库为Excel文件添加各种类型的条件格式,包括颜色渐变、图标集、数据条以及基于公式的规则等。

准备工作

首先确保你的环境中已安装了openpyxl库。如果尚未安装,可以通过pip命令进行安装:

pip install openpyxl

接下来,我们将会创建一个简单的脚本,用于加载一个现有的Excel文件,并为其指定的工作表添加多种条件格式。这个例子中使用的文件名为test.xlsx,其中包含一个名为“湖北”的工作表。

代码详解

  1. 导入所需模块 开始之前,需要导入openpyxl及相关样式定义模块。

    import openpyxl
    from openpyxl.styles import Font, Alignment, Side, Border, PatternFill
    from openpyxl.formatting.rule import ColorScaleRule, IconSetRule, DataBarRule, CellIsRule,
    FormulaRule
    
  2. 加载工作簿与选择工作表 使用load_workbook()函数打开目标文件,并选取要操作的工作表。

    wb = openpyxl.load_workbook('test.xlsx')
    ws = wb['湖北']
    
  3. 添加颜色渐变规则 对A列(A1至A10)应用从绿色到蓝色的颜色渐变效果。

    ws.conditional_formatting.add(range_string='A1:A10', cfRule=ColorScaleRule(start_type='min', start_color='00AA00', end_type='max', end_color='0000FF'))
    
  4. 设置图标集规则 B列根据数值大小显示不同的旗帜图标。

    ws.conditional_formatting.add(range_string='B1:B10', cfRule=IconSetRule(icon_style='3Flags', type='num', values=[1,5,7], reverse=True))
    
  5. 配置数据条 C列以红色数据条的形式展现数值范围,同时显示具体数值。

    ws.conditional_formatting.add(range_string='C1:C10', cfRule=DataBarRule(start_type='num', start_value=1, end_type='num', end_value=10, showValue=True, color='FF0000'))
    
  6. 应用单元格着色规则

    • D列中值小于5的单元格填充青色背景。

      redFill = PatternFill(end_color='00FFFF')
      ws.conditional_formatting.add(range_string='D1:D10', cfRule=CellIsRule(operator='lessThan', formula=['5'], fill=redFill))
      
    • E列中值介于5到9之间的单元格填充洋红色背景。

      redFill = PatternFill(end_color='FF00FF')
      ws.conditional_formatting.add(range_string='E1:E10', cfRule=FormulaRule(formula=['AND(E1>5, E1<9)'], fill=redFill))
      
  7. 保存修改后的文件 最后不要忘记保存所有更改。

    wb.save('test条件格式.xlsx')
    

运行结果:

截屏2024-12-05 11.42.06

结语

通过上述步骤,你已经学会了如何利用Python中的openpyxl库来自动化处理Excel文档中的条件格式设定。这不仅能够帮助提高工作效率,同时也使得最终输出的数据更加直观易懂。希望这篇教程对你有所帮助!如果你有任何问题或建议,请随时留言交流。

欢迎点赞、关注、收藏、转发!!!

相关文章
|
Python
python openpyxl 打开excel 并打印 七行代码
python openpyxl 打开excel 并打印 七行代码
65 0
|
12天前
|
Python
使用OpenPyXL库实现Excel单元格其他对齐方式设置
本文介绍了如何使用Python的`openpyxl`库设置Excel单元格中的文本对齐方式,包括文本旋转、换行、自动调整大小和缩进等,通过具体示例代码展示了每种对齐方式的应用方法,适合需要频繁操作Excel文件的用户学习参考。
139 85
使用OpenPyXL库实现Excel单元格其他对齐方式设置
|
16天前
|
数据可视化 Python
使用OpenPyXL在Excel中创建折线图:数据可视化入门
本文介绍了如何使用Python的`openpyxl`库在Excel中创建折线图,包括安装库、加载Excel文件、定义数据范围、设置图表属性(如标题、轴标签)及保存文件等步骤,适合数据可视化初学者。
45 15
|
4月前
|
前端开发 Python
使用Python+openpyxl实现导出自定义样式的Excel文件
本文介绍了如何使用Python的openpyxl库导出具有自定义样式的Excel文件,包括设置字体、对齐方式、行列宽高、边框和填充等样式,并提供了完整的示例代码和运行效果截图。
177 1
使用Python+openpyxl实现导出自定义样式的Excel文件
对excel读写的三个模块,xlsxwriter最牛,xlwt , xlrd,openpyxl
对excel读写的三个模块,xlsxwriter最牛,xlwt , xlrd,openpyxl
|
4月前
|
Python
Python openpyxl 将 Excel中的汉字 转换成拼音首字母
Python openpyxl 将 Excel中的汉字 转换成拼音首字母
55 0
|
5月前
|
存储 对象存储 Python
`openpyxl`是一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库。它不需要Microsoft Excel,也不需要.NET或COM组件。
`openpyxl`是一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库。它不需要Microsoft Excel,也不需要.NET或COM组件。
|
6月前
|
API Python
Python库`openpyxl`是一个用于读取和写入Excel 2010 xlsx/xlsm/xltx/xltm文件的库。
【6月更文挑战第19天】`openpyxl`是Python处理xlsx文件的库,支持读写Excel 2010格式。使用`pip install openpyxl`安装。基本操作包括加载文件、读写单元格、操作行和列。例如,加载Excel后,可以读取单元格`A1`的值,或将“Hello, World!”写入`A1`。还可修改单元格内容,如加1后保存到新文件。更多功能,如样式和公式,见官方文档[1]。 [1]: &lt;https://openpyxl.readthedocs.io/en/stable/&gt;
92 1
|
iOS开发 索引 MacOS
python文件处理-Excel自动处理(使用 openpyxl)
python文件处理-Excel自动处理(使用 openpyxl)
324 1
python文件处理-Excel自动处理(使用 openpyxl)
|
7月前
|
存储 API C#
C# 实现格式化文本导入到Excel
C# 实现格式化文本导入到Excel