我有一本Excel工作簿,其工作表如下所示:
Label Measure Value
A Cost -23.12
A Percentage 0.357
B Cost 48.1
C Location NY
C Cost 13
我要做的是根据Value
列中的相应单元格来格式化Measure
列中的单元格。在这种情况下,如果单元格读取“ Cost”,则在同一行和Value
列中的单元格应显示为“ $ 23.12”(应用货币格式。)Value
单元格的格式为Measure
是“百分比”,对于“位置”,为文本。
最终结果如下:
Label Measure Value
A Cost $ -23.12
A Percentage 35.7 %
B Cost $ 48.10
C Location NY
C Cost $ 13.00
我正在使用熊猫来创建此数据。在导出到Excel之前,我只需在DataFrame中进行这些更改。但是,我还需要进行另一种格式化。我想突出显示Value
列中的所有数字单元格-如果为正,则为绿色,如果为负,则为红色。但我不想触摸与“位置”相对应的单元格。
我可以做这样的事情:
workbook[sheet].conditional_formatting.add('C2:C6', CellIsRule(operator='greaterThan', formula=['0'], fill=green_fill, font=green_font))
workbook[sheet].conditional_formatting.add('C2:C6', CellIsRule(operator='lessThan', formula=['0'], fill=red_fill, font=red_font))
这对C行中的所有单元格都有效,但是如何对我感兴趣的特定单元格子集执行此操作?