【发布时间】:2019-07-19 13:44:54
【问题描述】:
我想从 jupyter 笔记本中删除所有降价单元格。如我所见,唯一可行的方法是将其下载为 .py 文件,然后复制并粘贴到新的 jupyter 笔记本中。有没有办法在不破坏细胞结构的情况下做到这一点?
【问题讨论】:
-
.ipynb 本质上是一个 json,你可以尝试打开它,清理并保存在一个脚本中。
标签: jupyter-notebook
我想从 jupyter 笔记本中删除所有降价单元格。如我所见,唯一可行的方法是将其下载为 .py 文件,然后复制并粘贴到新的 jupyter 笔记本中。有没有办法在不破坏细胞结构的情况下做到这一点?
【问题讨论】:
标签: jupyter-notebook
nbformat 可以用来做到这一点:
import nbformat as nbf
ntbk = nbf.read("old_notebook.ipynb", nbf.NO_CONVERT)
new_ntbk = ntbk
new_ntbk.cells = [cell for cell in ntbk.cells if cell.cell_type != "markdown"]
nbf.write(new_ntbk, "no_markdown_notebook.ipynb", version=nbf.NO_CONVERT)
为了减少“大范围”的笔记本清洁,Chris Holdgraf 的nbclean 是我处理这类事情的首选工具。
(此答案改编自代码以执行相反的过程:Delete all code cells except markdown text)。
【讨论】: