Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.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 使用xlswriter模块使用条件_格式格式化整行_Python_Pandas_Xlsxwriter - Fatal编程技术网

Python 使用xlswriter模块使用条件_格式格式化整行

Python 使用xlswriter模块使用条件_格式格式化整行,python,pandas,xlsxwriter,Python,Pandas,Xlsxwriter,我正在使用xlswriter模块创建excel报告。下面是相同的代码段 number_rows = len(df.index) //df is dataframe writer = pd.ExcelWriter("Report_1.xlsx",engine='xlsxwriter') df.to_excel(writer,"report") workbook = writer.book worksheet = writer.sheets['report'] # Define range f

我正在使用xlswriter模块创建excel报告。下面是相同的代码段

number_rows = len(df.index)
//df is dataframe

writer = pd.ExcelWriter("Report_1.xlsx",engine='xlsxwriter')
df.to_excel(writer,"report")

workbook = writer.book
worksheet = writer.sheets['report']

# Define range for the color formatting
color_range = "A2:F{}".format(number_rows+1)


format1 = workbook.add_format({'bg_color': '#FFC7CE',
                               'font_color': '#9C0006'})

worksheet.conditional_format(color_range, {'type': 'text',
                                           'criteria' : 'containing',
                                           'value': 'SUCCESS',
                                           'format': format1})

我想根据单元格值(=成功)突出显示一行('bg_color':'#FFC7CE','font_color':'#9c006')。但当我使用“条件_格式”时,它只应用于特定的单元格。如果“条件”与单元格值匹配,是否有方法将格式应用于整行?

我在下面提供了一个完全可复制的示例,该示例使用Excel中的
INDIRECT()
函数。请注意,我已将范围设置为
$A$1:$B$6
,但如果有更多列,可以将其扩展到其他范围

import pandas as pd

df = pd.DataFrame({"Name": ['A', 'B', 'C', 'D', 'E'], 
"Status": ['SUCCESS', 'FAIL', 'SUCCESS', 'FAIL', 'FAIL']})

number_rows = len(df.index) + 1

writer = pd.ExcelWriter('Report_1.xlsx', engine='xlsxwriter')

df.to_excel(writer, sheet_name='Sheet1', index=False)

workbook  = writer.book
worksheet = writer.sheets['Sheet1']

format1 = workbook.add_format({'bg_color': '#FFC7CE',
                              'font_color': '#9C0006'})

worksheet.conditional_format("$A$1:$B$%d" % (number_rows),
                             {"type": "formula",
                              "criteria": '=INDIRECT("B"&ROW())="SUCCESS"',
                              "format": format1
                             }
)

workbook.close()
excel中的预期输出: