如何在PowerPoint演示文稿中使用Pandas Styler对象?

时间:2019-05-24 14:40:53

标签: python pandas dataframe jupyter-notebook

我正在尝试简化工作流程,并在使用Pandas Styler对象和PowerPoint时遇到问题。

最重要的是,收件人不希望Jupyter Notebook甚至Jupyter Notebook的HTML版本都隐藏/删除了代码。他们想要PowerPoint,没有例外。

我用Python编写了许多模块来复制该过程,除了Pandas数据框之外,其他所有模块都处于正常工作状态。收件人想要漂亮的彩色桌子,我找到了一种精确复制他们想要的东西的方法。下面的代码为我提供了确切的表格:

import pandas as pd

df = pd.DataFrame({'Col1': ['a', 'b', 'c', 'd'],
                   'Col2': ['e', 'f', 'g', 'h'],
                   'Col3': [1, 2, 3, 4]})

(df.style
 .background_gradient(cmap='RdYlGn', subset='Col3')
 .set_caption('Test'))

在Juypter笔记本中运行此命令时,我完全获得了我想要在PowerPoint中呈现的输出。

如何准确地查看我要看的内容并将其放入PowerPoint 而无需进行截图?这个想法是要尽可能地自动化。

我尝试了Pandas.DataFrame.Styler.render()方法,但没有办法将原始HTML代码注入PowerPoint并获得没有单独插件(不是选项)的渲染表。

我还看不到将Styler对象导出为图像的方法,因此除非我错过了它,否则似乎就没用了。

我确实将其导出到Excel,Excel的确保留了单元格的颜色,但是丢失了数字格式(例如,将$ 100转换为99.98573822839575),这样就可以了。

我发现最好的方法是使用出色的python-pptx软件包,该软件包对表格有很多好处,但是我找不到使用此软件包将Styler对象导入PowerPoint的方法。

pd.__version__ = '0.24.2'
python.__version__ = '3.7.3'
jupyter.__version__ = '1.0.0'
notebook.__version__ = '5.7.8'

PowerPoint 2013 (15.0.5093.1000) MSO (15.0.5127.1000) 32-bit
Windows 10 Enterprise 10.0.16299 Build 16299

0 个答案:

没有答案