Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 突出显示excel列中大于某个值的总和_Python_Excel_Pandas_Conditional Formatting_Xlsxwriter - Fatal编程技术网

Python 突出显示excel列中大于某个值的总和

Python 突出显示excel列中大于某个值的总和,python,excel,pandas,conditional-formatting,xlsxwriter,Python,Excel,Pandas,Conditional Formatting,Xlsxwriter,我有一个已排序的列,我想高亮显示这些行,在本例中,这些行的总和小于阈值0.8。如果在下面运行此代码,它将高亮显示0.294和0.202,但这只会增加到0.496;我希望它也突出显示0.171,但不是0.157,因为这将超过0.8 我是否在条件格式中使用了正确的条件 import pandas as pd import numpy as np import xlsxwriter df = pd.DataFrame(np.array([.294, .202, .171, .157, .103,

我有一个已排序的列,我想高亮显示这些行,在本例中,这些行的总和小于阈值0.8。如果在下面运行此代码,它将高亮显示0.294和0.202,但这只会增加到0.496;我希望它也突出显示0.171,但不是0.157,因为这将超过0.8

我是否在条件格式中使用了正确的条件

import pandas as pd
import numpy as np
import xlsxwriter


df = pd.DataFrame(np.array([.294, .202, .171, .157, .103, .082, .045, .023, .021, .018, .016]))
writer = pd.ExcelWriter('results.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='sheet1', index=False)
wb = writer.book
yellow_format = wb.add_format({'bg_color':'#F7FE2E'})

ws = writer.sheets['sheet1']
ws.conditional_format('A2:A20' , {'type': 'formula', 'criteria': '=SUM(A2:A20) >= 0.8', 'format':  yellow_format})

wb.close()

好的,首先这个答案是Excel,因为我不知道Pythong编码,但我希望如果你知道如何在Excel中实现这一点,也许你可以编码:)

你差点就成功了。您需要的总和范围为dinamic。您的实际公式只是检查
A2:A20
sum是否大于0,8。因为您使用的是相对引用,所以当勾选
A2
时,公式将求和
A2:A20
,但当勾选
A3
时,它将勾选
A3:A21
,依此类推

使用提供的值,
SUM(A2:A20)
=1.132,并且因为您键入了
=0.8
,它将突出显示
0.294
<代码>总和(A3:A21)=0.838因此
.202
也会突出显示。但其余的总和总和不超过0.8

因此,您需要使用条件格式规则来使用以下公式:


=总和小于阈值时的总和($A$2:A2)。。。但是你的公式是
>=0.8
。那么…它是更低还是更高呢?谢谢你的解释,效果很好,只需要=总和($A$2:A2)