Pandas 数据框到 excel,颜色格式使用 ExcelWriter 和左对齐

Pandas dataframe to excel with color formatting using ExcelWriter and left alignment

在另一个线程 上有类似问题的答案。但我希望使用 Pandas ExcelWriter

来学习这个

我有一个很大的 pandas 数据框 df 作为:

Sou ATC   P25   P75 Avg
A   11    9     15  10
B   6.63  15    15  25
C   6.63  5     10  8

我想将此数据帧打印到 excel 文件,但我想将格式应用于 excel 文件的每一行,以便将以下规则应用于 ATC 中的单元格和Avg 列:

excel中的示例显示如下:

请注意 左对齐 显示 column A。我也有兴趣学习如何使用 ExcelWriter 将输出左对齐到 excel.

我现在使用的启动码是:

writer = pd.ExcelWriter(r'C:\outfile.xlx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='mysheet', index=False)
worksheet = writer.sheets['mysheet']

除了上面的代码,我不确定如何处理这个问题。

我会用 style:

def hightlighter(x):
    return np.select((x<df['P25'], x>df['P75']), 
              ('background-color: red', 'background-color: green'),
              'background-color: yellow')
def align(x):
    return ['text-align:left']*len(x)

(df.style
   .apply(hightlighter, subset=['ATC','Avg'])
   .apply(align, subset=['Source'])
   .to_excel(writer, sheet_name='mysheet', index=False, freeze_panes=(1,0))
)