问题: 我想将使用 xlsx 的条件格式 icon_set 应用于列,但没有获得正确值的正确箭头
这是我想要的输出:
这是我当前的输出:
这是我的代码:
writer.sheets[sheet].conditional_format('J54:K200', {'type': 'icon_set',
'icon_style': '3_arrows',
'icons': [
{'criteria': '>=', 'type': 'number', 'value': 1},
{'criteria': '>=', 'type': 'number', 'value': 0},
{'criteria': '<', 'type': 'number', 'value': -1}
]}
)
这是我看过的:
除了这里的类似问题,这就是我所做的:
我查看了 Excel 的公式并与我自己的工作进行了比较,从我的输出开始,找出正确的规则。
到目前为止,我最接近的是,当我将图标 'value'
分别更改为 2、1、0 时,我得到 1 以具有中间的橙色箭头:
这告诉我我的相等性一定是正确的,但它并没有产生预期的结果。 感谢您提供的任何帮助!
最佳答案
如果您从代码中删除 {'criteria': '>=', 'type': 'number', 'value': 0},
它应该可以正常工作。我在下面有一个具有预期输出的可重现示例。
import pandas as pd
import numpy as np
#Creating a sample dataframe for example demonstration
df = pd.DataFrame({'col1': [0, -1, 10, -2], 'col2': [-11, 0, -3, 1]})
writer = pd.ExcelWriter('test.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', index=False)
writer.sheets['Sheet1'].conditional_format('A2:B5', {'type': 'icon_set',
'icon_style': '3_arrows',
'icons': [
{'criteria': '>=', 'type': 'number', 'value': 0.001},
{'criteria': '<=', 'type': 'number', 'value': -0.001}
]}
)
writer.save()
预期的测试.xlsx:
关于python - xlsxwriter 条件格式 icon_set 中间值 = 0 未显示正确的箭头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50977697/