问题描述
我的两个条件格式语句完全相同,但是,第一个有效而第二个无效。
我想知道为什么会发生这种情况以及如何解决?
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','max_value': 1100,'max_color': '006600'})
ws.set_column(0,13,10)
wb.close()
writer.save()
图片是:
解决方法
指定颜色的方式有问题,与之相关。它们应为'#CC0000'
和'#006600'
之类的HTML格式。
我的两个条件格式语句完全相同
不是。第二个没有中间范围值,最大值更高。解决该问题和颜色问题后,您应该会得到期望的输出:
import pandas as pd
df = pd.DataFrame({'Data': [10,20,30,15,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','mid_value': 550,'max_value': 1100,'max_color': '#006600'})
ws.set_column(0,13,10)
writer.save()
输出: