将样式应用于pandas生成的excel文件的标头

时间:2016-02-14 20:45:51

标签: python-2.7 pandas xlsxwriter

审核Tim Hoffmanthis broader question的回答让我想让我的标题换行。

我用以下代码尝试了这个:

import pandas.core.format
pandas.core.format.header_style["alignment"].update({"text_wrap" : True})
pandas.core.format.header_style["font"].update({"bold" : False})

现在,实际结果没有粗体,所以我知道我正在设法覆盖默认值。但是,文本没有包装。

根据我在xlsxwriter format class guide中看到的内容以及已经有对齐关键字...

ipdb> pandas.core.format.header_style["alignment"]
{'horizontal': 'center', 'vertical': 'top'} 

......之后我按照上面的修改......

ipdb> pandas.core.format.header_style["alignment"].update({"text_wrap" : True})
ipdb> pandas.core.format.header_style["alignment"]
{'horizontal': 'center', 'text_wrap': True, 'vertical': 'top'}

......我希望得到结果,但我不是。谁知道为什么?

我认为我也可以使用xlsxwriter写入方法重新编写数据,但这对我来说感觉更多,所以我希望能够以这种方式工作。

1 个答案:

答案 0 :(得分:0)

  

我希望得到结果,但我不是。谁知道为什么?

AFAIK您正在修改的header_style字典是内部的,不会通过API公开。

header_style dict采用xlwt easyxf格式,仅由Pandas中的xlsxwriter引擎部分映射,以获取默认的标题格式。 text_wrap属性isn't one that is mapped(因为格式是内部格式,我认为不需要)。

总的来说,我认为你不能依赖这种解决方法。