- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
IPython Notebook 自带 nbconvert
,可以将笔记本导出为其他格式。但是如何以相反的方向转换文本?我问是因为我已经有了不同格式的 Material 和良好的工作流程,但我想利用 Notebook 的交互环境。
一个可能的解决方案:可以通过导入 .py
文件来创建笔记本,并且文档指出当 nbconvert
将笔记本导出为 python 脚本时,它嵌入可用于重新创建笔记本的注释中的指令。但是信息附带a disclaimer关于这种方法的局限性,并且在我能找到的任何地方都没有记录接受的格式。 (奇怪的是,在描述笔记本 JSON format 的部分中显示了一个示例)。谁能提供更多信息或更好的选择?
编辑(2016 年 3 月 1 日):已接受的答案不再有效,因为由于某种原因,Notebook API 版本 4 不支持这种输入格式。 我已添加 a self-answer 展示了如何使用当前 (v4) API 导入笔记本。 (我并没有不接受当前的答案,因为它当时解决了我的问题,并指出了我在 self 回答中使用的资源。)
最佳答案
由于接受的答案中的代码不再起作用,我添加了这个 self 答案,显示如何使用当前 (v4
) API 导入笔记本。
IPython Notebook API 的第 2 版和第 3 版可以导入带有特殊结构注释的 python 脚本,并根据需要将其分解为单元格。这是一个示例输入文件(原始文档 here)。前两行被忽略,并且是可选的。 (事实上,读者会忽略文件中任何位置的 coding:
和 <nbformat>
行。)
# -*- coding: utf-8 -*-
# <nbformat>3.0</nbformat>
# <markdowncell>
# The simplest notebook. Markdown cells are embedded in comments,
# so the file is a valid `python` script.
# Be sure to **leave a space** after the comment character!
# <codecell>
print("Hello, IPython")
# <rawcell>
# Raw cell contents are not formatted as markdown
(API 还接受过时的指令 <htmlcell>
和 <headingcell level=...>
,它们会立即转换为其他类型。)
由于某种原因,Notebook API 版本 4 不支持这种格式。它仍然是一种不错的格式,因此通过导入版本 3 并升级来支持它是值得的。 原则上就是两行代码,加上i/o:
from IPython.nbformat import v3, v4
with open("input-file.py") as fpin:
text = fpin.read()
nbook = v3.reads_py(text)
nbook = v4.upgrade(nbook) # Upgrade v3 to v4
jsonform = v4.writes(nbook) + "\n"
with open("output-file.ipynb", "w") as fpout:
fpout.write(jsonform)
但没那么快!事实上,notebook API 有一个讨厌的 bug:如果输入的最后一个单元格是 markdown 单元格,v3.reads_py()
会失去它。最简单的解决方法是添加伪造的 <markdown>
末尾单元格:bug会删除,大家开心。所以在通过 text
之前请执行以下操作至v3.reads_py()
:
text += """
# <markdowncell>
# If you can read this, reads_py() is no longer broken!
"""
关于python - 转换为(不是从)ipython Notebook 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23292242/
我不断收到以下消息:“自上次打开或保存笔记本文件以来,磁盘上的笔记本文件已更改。您想用此处打开的版本覆盖磁盘上的文件,还是加载磁盘上的版本(重新加载页面) )?”在 Jupyter 笔记本上,即使我没
让我们假设,我想打开一个笔记本(即使用我的本地 Jupyter 实例),但我不想用它启动关联的内核(即 Python)。我怎样才能做到这一点? 可能的用例: 我只想从以前的计算中获得笔记本输出。我不想
在将 IPython 笔记本转换为笔记本时,我试图隐藏一些特定的单元格。我想在类里面使用笔记本,并希望从包含问题和答案的主笔记本生成“练习”笔记本。 This post非常有帮助,但由于某种原因,使用
在过去的几个小时里,我一直在试图弄清楚如何将我的 Jupyter Notebook 下载为 pdf。我已经下载了 MiKTeX 并重新安装了 anaconda。下面的完整错误 500内部服务器错误 错
我想要一个完整的文件作为文本文件,而不仅仅是 IPython 笔记本中的一个单元格。 我在 IPython notebook 中写了一些代码,现在我想测试它们,所以我尝试将一些文本文件作为原始数据上传
我在我的办公室电脑上工作,由于安全限制不允许我安装程序(比如 miktex,....)。所以我决定将我的笔记本导出为 .html。 如您所见,渲染效果不佳: 一些代码被删减了 很多空间被破坏了,有很大
如何在终端中编辑我的 jupyter notebook。我只是不喜欢在网络浏览器中打开 jupyter notebook。我用谷歌搜索,但每个答案都与我们如何直接从终端打开笔记本有关。 最佳答案 我建
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 6年前关闭。 Improve thi
我正在使用 Julia,但并不是很喜欢 IDE(更像是一个笔记本电脑)。所以我第一次使用 Jupyter(实验室和笔记本)。 我从 Anaconda 启动了 Jupyter 并制作了我的笔记本。问题是
我试图用 ipython notebook 在终端中打开 ipython它不会打开 ipython notebook。它给出了以下错误: | ~/documents/ud120-projects/da
尝试从终端启动 jupyter notebook。我目前在正确文件夹中的终端上,并且安装了 python 3.5 和 conda。但它没有启动。 最佳答案 Jupyter Notebooks 允许您打
我有 plotly plotly 的 jupyter 笔记本不会保留 session 之间的 plotly 。 这是在基于官方 jupyter/datascience-notebook docker
我试过使用 pip3 install jupyter 安装 jupyter notebook。每次我启动一个新的 jupyter notebook 时,notebook 都无法连接到内核。请参阅下面的
我懂代码,懂 Markdown。 我已阅读 this Raw cells article ,但看不出太多。 什么是深奥的 NBConvert ? 请投点灯。 最佳答案 更新的文档位于 https://
运行代码后,我可以自动将笔记本保存为HTML。但是,有时结果生成速度太快,因此输出HTML在最后一个单元格中没有输出。 我想知道是否可以告诉文件进行自我保存? 就像是 # In last cell c
我在最近安装了 anaconda 的虚拟机中运行 Ubuntu 14.04。我使用 conda 安装了 jupyter 笔记本。我已经按照我可以在网上找到的所有文档来安装笔记本扩展,但它们无法加载并显
我正在使用 nbconvert通过命令行执行 iPython notebook(如 this answer ): ipython nbconvert --to=html --ExecutePrepro
除了原始 Jupyter Notebook 文件(.ipynb 文件)之外,有时我还会得到一个检查点 .ipynb 文件,该文件似乎直接链接到原始 。 ipynb 文件。 这些检查点文件的用途是什么?
我使用 ssh -L 连接到远程服务器,但如果我合上笔记本电脑盖子或连接丢失,jupyter 笔记本就会断开连接。 重新连接到远程服务器后,“最后一个” session 丢失。 如何才能使其持久?sc
Jupyter 笔记本支持 Markdown 单元格,但它似乎不支持表情符号代码。我想一种方法可能是使用 html 导入图标,如 fontawesome 有人有解决方法吗? 编辑:直接在 jupyte
我是一名优秀的程序员,十分优秀!