如何保存Jupyter的display()显示的内容?

0 投票
1 回答
37 浏览
提问于 2025-04-14 16:31

Jupyter的显示功能非常棒,可以用来展示各种对象,比如数据表。看起来在很多情况下,它内部会生成一个位图、SVG或者HTML文件?有没有办法把display()显示的内容直接保存到文件里呢?

我只看到一些例子是通过第三方接口来做“类似”的事情(比如专门针对数据表,如何使用pandas的接口和第三方接口来保存一个png或svg文件,但这些文件的显示效果和Jupyter输出的效果不一样):

for x, name in things:
  display(makey(x), saveAs=f"{name}.svg")

或者

for x, name in things:
  display(makey(x))
  saveAsJupyterShowsIt(makey(x), saveAs=f"{name}.svg")

这样做在所见即所得的体验上会更方便,也更一致,而不是使用更底层的接口。

1 个回答

0

在Linux机器上,我的做法是给那些我想忽略输出的单元格打上标签,然后使用:

jupyter nbconvert notebookName.ipynb --to html --TagRemovePreprocessor.enabled=True --TagRemovePreprocessor.remove_cell_tags="['tag1', 'tag2']" --no-input

这个命令会把你的笔记本导出为.html格式,里面没有输入代码,只包含你选择的单元格(这些单元格可以是通过显示函数显示的内容)。

然后这个.html文件可以在任何浏览器中打开查看。

撰写回答