pandas.io.formats.style.Styler.to_excel:如何设置单元格样式?

时间:2018-07-09 20:01:39

标签: python excel pandas jupyter

我正在两个数据框之间建立差异,并希望将它们保存到excel中(受great answer here的启发):

def highlight_diff(data, color='orange'):
    attr = 'background-color: {}'.format(color)
    other = data.xs('Original', axis='columns', level=-1)
    return pd.DataFrame(np.where(data.ne(other, level=0), attr, ''),
                    index=data.index, columns=data.columns)

在这一点上,如果我在JupyterLab中查看data_swapped.style.apply(highlight_diff, axis=None),它将看起来很棒-第二组中的不同列都有背景。

当您尝试将其保存到excel时,它将失败:

writer = pd.ExcelWriter('diff.xls')
data_swapped.style.apply(highlight_diff, axis=None).to_excel(writer, 'Sheet1')
writer.save()
  

/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/xlwt/Style.py in _parse_strg_to_obj(strg,obj,parse_dict,field_sep,line_sep,intro_sep,esc_char,debug)       第636章死了       637如果结果为None:   -> 638提高EasyXFCallerError('部分%r是未知的'%部分)       第639回       640休息

     

EasyXFCallerError:“填充”部分未知

我觉得xlwt使用不同的转换来标记标签和颜色名称,并认为我会作弊:

attr = 'fore_color: light_yellow'

它将删除该异常,但是生成的excel没有我要的样式。这种样式化方法对Excel完全可以重用吗?

0 个答案:

没有答案