我正在尝试简化工作流程,并在使用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