Python中的科学报告

LB4*_*B40 4 python ipython jinja2 ipython-notebook

我正在研究一个科学的python项目,执行一系列计算,生成大量数据.

当必须从这些数据生成报告时会出现问题,其中嵌入了图像(主要使用matplotlib计算).我想使用python模块或工具来描述报告并"构建"这些报告的HTML页面(或浏览器支持的任何格式).

我正在考虑生成一个ipython笔记本,但我无法找到是否有办法这样做(除了创建json,但我对这种方法感到怀疑).

另一种方式是使用Sphinx有点像matplotlib,但我不知道我怎么能真正微调各种页面的布局.

最后一个选项是使用jinja2模板(或django-templates或任何模板引擎工作)并在其中嵌入matplotlib代码.

我知道它含糊不清但无法找到任何参考.

Mat*_*att 5

nbconvert已经合并到IPython本身,所以请不要再使用独立版本了.它现在是完全基于模板的,因此您可以通过只需调整css,完全重新编写模板或仅覆盖所需模板的当前部分来更改内容.

Notebook格式是一个纯粹的json文件,需要大约20行来编写循环遍历它的程序并重新运行codecell.加上命令行参数,编写笔记本并不难,使其成为"模板"笔记本,并在不打开浏览器的情况下在多个数据集上运行它.

一些资源:

以编程方式运行nbconvert,并运行无头笔记本(第一个链接)