Python中的科学报告

问题描述 投票:4回答:4

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

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

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

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

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

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

python ipython jinja2 ipython-notebook
4个回答
5
投票

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

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

一些资源:

programatically run nbconvert,并运行笔记本headless (first link)


2
投票

我想你想在ipython笔记本上工作然后使用nbconvert

目前,这是它自己的实用程序,已经可以工作(虽然有一些安装障碍,但工作),但它目前正在直接实施到ipython笔记本电脑机器,我相信应该在秋季,或左右发布。

目标是(并且Fernando Perez已经证明这是有效的),笔记本成为完全记录的图像,包含转换后的pdf文档。


1
投票

使用ipython笔记本的内联模式,

ipython notebook --pylab inline

您可以在浏览器中以交互方式执行matplotlib脚本(从而生成绘图)。然后去

文件 - >打印视图(在笔记本菜单中,而不是浏览器菜单)

并保存生成的html文件(通过浏览器菜单)。这将包括您之前生成的所有图以及python代码。当然,如果没有笔记本电脑服务器,你就不能再修改这些html-Files了。你是这个意思吗?


0
投票

我刚刚发现这个老问题,并希望将PWeave添加到列表中,这非常适合从python代码/ jupyter笔记本生成报告。我用它与未投入编程的同事分享我的工作。

它还使用spyder-reports模块集成到Spyder,用于python的科学IDE。

© www.soinside.com 2019 - 2024. All rights reserved.