【问题标题】:Exporting single iPython Jupyter Notebook cell output导出单个 iPython Jupyter Notebook 单元格输出
【发布时间】:2016-06-02 13:06:47
【问题描述】:

我正在尝试格式化我的 iPython Notebook,以便将它们更多地写入日志。

display(HTML()) 结构的使用使一切都变得很好,并且相对容易组织。

我想在其他媒体中使用某些单元格的输出,例如演示文稿。我现在的做法是对该区域进行截图,但随后一切都变成了像素,无法进行细化。

有没有办法以某种有用的格式呈现单个单元格的输出?

【问题讨论】:

  • HTML 是您可以接受的格式吗?我发现它会自动嵌入图像甚至视频。在这种情况下,您可以简单地将 HTML 逐字写入文件。
  • 您是否尝试过使用 Markdown 将内容嵌入到演示文稿中?

标签: python jupyter-notebook


【解决方案1】:

在 Jupyter 中无法导出单个单元格输出,as of now,但您可以做的是将整个笔记本转换为更有用的格式,然后只剪掉您需要的部分。这不是最优的,但它仍然比您当前的解决方法要好,至少在输出质量方面是这样。

您可以通过不同的方式做到这一点:

  1. 文件 -> 将笔记本导出为... -> 您的首选文件格式
  2. 如果您想以编程方式执行此操作,可以在命令行中使用 nbconvert,如下所示:

    nbconvert --to (your preferred output format) yourNotebook.ipynb

您也可以在笔记本中执行此操作,在单元格中执行此代码(在此示例中为 HTML):

from nbconvert import HTMLExporter
import codecs
import nbformat

notebook_name = 'YOUR_NOTEBOOK_NAME.ipynb'
output_file_name = 'output.html'

exporter = HTMLExporter()
output_notebook = nbformat.read(notebook_name, as_version=4)

output, resources = exporter.from_notebook_node(output_notebook)
codecs.open(output_file_name, 'w', encoding='utf-8').write(output)

不过,大多数库都允许您将程序的结果导出到任何所需的输出(pandas、matplotlib、altair...),因此您可能应该尝试使用它们。

【讨论】:

  • “修剪不需要的部分”部分可以通过使用您选择的标签标记这些单元格然后使用TagRemovePreprocessor 选项来完成。
【解决方案2】:

你可以试试%%capture Jupyter notebook命令。

查看此答案:how to save the output of a cell in iPython notebook?

【讨论】:

    猜你喜欢
    • 2016-03-27
    • 2016-02-04
    • 1970-01-01
    • 2014-07-23
    • 1970-01-01
    • 2016-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多