xlsxwriter条件格式无法工作的原因

2024-09-28 03:23:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我的两个条件格式语句完全相同,但是,第一个语句有效,而第二个语句无效

我想知道它为什么会发生,以及如何修复它

wb= writer.book
ws= writer.sheets['Sheet1']
ws.conditional_format('B2:L86', {'type':      '3_color_scale',
                                 'min_value': 0,
                                 'mid_value':50,
                                 'max_value': 100,
                                 'min_color': 'CC0000',
                                 'mid_color': 'white',
                                 'max_color': '006600'}
                                    )

ws.conditional_format('M2:M86', {'type':      '3_color_scale',
                                 'min_value': 0,

                                 'max_value': 1100,
                                 'min_color': 'CC0000',
                                 'mid_color': 'white',
                                 'max_color': '006600'})
ws.set_column(0, 13, 10)
wb.close()
writer.save()

图片为: enter image description here


Tags: formatwsvaluetype语句minmaxcolor
1条回答
网友
1楼 · 发布于 2024-09-28 03:23:10

指定颜色的方式存在相关或其他问题。它们应该是HTML格式,如'#CC0000''#006600'

my two conditional formatting statements are completely the same

他们不是。第二个没有中间值,最大值更高。解决了这一问题和颜色问题,您将获得预期的输出:

import pandas as pd

df = pd.DataFrame({'Data': [10, 20, 30, 20, 15, 30, 45]})

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

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

ws = writer.sheets['Sheet1']
ws.conditional_format('B2:L86', {'type':      '3_color_scale',
                                 'min_value': 0,
                                 'mid_value': 50,
                                 'max_value': 100,
                                 'min_color': '#CC0000',
                                 'mid_color': 'white',
                                 'max_color': '#006600'})

ws.conditional_format('M2:M86', {'type':      '3_color_scale',
                                 'min_value': 0,
                                 'mid_value': 550,
                                 'max_value': 1100,
                                 'min_color': '#CC0000',
                                 'mid_color': 'white',
                                 'max_color': '#006600'})
ws.set_column(0, 13, 10)
writer.save()

输出:

enter image description here

相关问题 更多 >

    热门问题