首页 > 解决方案 > 如何在 openpyxl 中设置条件格式?

问题描述

我对 Python 还是很陌生,我想创建一个自动化任务来过滤掉所有发布负利润率百分比的销售数据,并用红色突出显示它们以供进一步调查。我只是在下面编了一个例子,但是每次我运行命令时,新的 excel 文件只填充一个空白工作簿。我犯了一个明显的错误吗?

销售 ID 销售成本 GP$ 保证金 % 1 $2,000.00 $1,000.00 $1,000.00 50.00% 2 $6,000.00 $4,500.00 $1,500.00 25.00% 3 $100.00 $27.00 $73.00 73.00% 4 -000.00% -000.00 $200.00.00.00美元

下式:

from openpyxl import Workbook
wb = 'margin.xslx'
from openpyxl.styles import Color, PatternFill
from openpyxl.styles.differential import DifferentialStyle
from openpyxl.formatting.rule import ColorScaleRule, CellIsRule, FormulaRule
wb = Workbook()
ws = wb.active

# Create fill
redFill = PatternFill(start_color='EE1111', end_color='EE1111', fill_type='solid')
ws.conditional_formatting.add('e2:e5',
CellIsRule(operator='lessThan', formula=['0'], fill=redFill))
wb.save("test2.xlsx")

标签: pythonpython-3.xopenpyxl

解决方案


改用这个:

from openpyxl import load_workbook
wb = load_workbook("margin.xlsx")

使用wb = Workbook()创建一个新工作簿


推荐阅读