在Jupyter笔记本中保存笔记本的HTML。

4

我的Jupyter探索性数据分析工作流程如下:

  1. 调整一些参数。
  2. 运行笔记本;生成输出。
  3. 查看输出。
  4. 重复。

有人可以建议一个命令,使笔记本可以保存自己的副本(例如作为输出文件夹中的HTML),这样如果我想重新创建特定实验(特定参数集的结果)就可以这样做吗?


“这样,如果我想重新创建一个特定的实验,我就可以这样做?” - 我不明白。你能解释一下为什么“文件->下载为->HTML”对你不起作用吗? - cel
那个方法可以用,但是需要宝贵的几秒钟,并且需要我记得这样做。我想知道是否有一种方法可以在笔记本内部重新创建该过程,以便在我“运行全部”时自动发生。 - Daniel Power
我猜你的问题不是很常见 - 通常只有在想要通过网络共享笔记本时,将其转换为HTML才有意义。对于本地查看或共享结果,其他格式更方便 - 无论如何,您可以尝试使用savehooks进行实验。它们可能会非常接近您想要实现的目标:http://jupyter-notebook.readthedocs.io/en/latest/extending/savehooks.html - cel
谢谢 - 我理解的保存钩子的问题是它们可以用于在与.ipynb相同的位置保存.html副本,但不能保存到另一个指定的文件夹中。注意:它不一定是html - .pdf或.py也可以。 - Daniel Power
我从未使用过钩子,但从post-save-hook示例中,我没有看到任何限制可以保存到哪里。该示例使用with io.open(script_fname, 'w', encoding='utf-8') as f:。看起来您可以打开任何您有写入权限的文件。 - cel
显示剩余2条评论
1个回答

3

可以的。只需要使用单元格魔法添加一个安全单元格。在使用nbconvert后,您可以重命名文件并添加日期。

%%bash
jupyter nbconvert --to html MyNotebookName.ipynb
mv MyNotebookName.html $(date +"%m_%d_%Y-%H%M%S")_MyNotebookName.html

3
这种方法不能在运行结束时保存笔记本的当前状态。笔记本在运行过程中不会自动保存,因此以前版本的笔记本会保存为HTML文件。有人知道如何在单元格内编程保存笔记本,以便将当前可见单元格的输出保存为HTML吗? - MJoseph

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接