XLWINGS 基于值的条件格式
XLWINGS conditional formatting based on value
我在 Pandas 中有一个数据框,我已将其导出到 Excel 并使用 XLWINGS 格式化 headers 等。这就像一个魅力。但我想根据每个单元格(行)中的值设置两列的格式,因此如果值大于 0 则为绿色,小于零则为红色。
我似乎无法使用 XLWINGS 找到该选项,这有可能吗?
Dummy data:
Name Type Value (color intended)
Boris Sale 10 Green
Kurt Wareho. -5 red
etc.
您可以遍历特定列的单元格(请注意,如果特定列中有空单元格,这可能不会成功):
import xlwings as xw
path = r"test.xlsx"
with xw.App(visible=False) as app:
wb = xw.Book(path)
ws = wb.sheets[0]
for a_cell in ws["C1:D1"].expand("down"):
if type(a_cell.value) in [float, int]:
if a_cell.value > 0:
a_cell.color = (169, 208, 142)
elif a_cell.value < 0:
a_cell.color = (192, 0, 0)
wb.save(path)
wb.close()
我在 Pandas 中有一个数据框,我已将其导出到 Excel 并使用 XLWINGS 格式化 headers 等。这就像一个魅力。但我想根据每个单元格(行)中的值设置两列的格式,因此如果值大于 0 则为绿色,小于零则为红色。
我似乎无法使用 XLWINGS 找到该选项,这有可能吗?
Dummy data:
Name Type Value (color intended)
Boris Sale 10 Green
Kurt Wareho. -5 red
etc.
您可以遍历特定列的单元格(请注意,如果特定列中有空单元格,这可能不会成功):
import xlwings as xw
path = r"test.xlsx"
with xw.App(visible=False) as app:
wb = xw.Book(path)
ws = wb.sheets[0]
for a_cell in ws["C1:D1"].expand("down"):
if type(a_cell.value) in [float, int]:
if a_cell.value > 0:
a_cell.color = (169, 208, 142)
elif a_cell.value < 0:
a_cell.color = (192, 0, 0)
wb.save(path)
wb.close()