在 Jupyter (ipython) 中将两个笔记本合并为一个

问题描述 投票:0回答:10

我有两个不同的 Jupyter 笔记本用于两个不同的项目。我想将它们合并到同一个笔记本上。

一种方法是将单元格从一个单元格复制到另一个单元格,但对于包含许多单元格的项目来说,这似乎是一项相当大的工作。有支持导入Notebook文档或者一次复制多个单元格的功能吗?

jupyter
10个回答
30
投票

您可以使用 nbmerge

合并笔记本

使用pip安装

pip install nbmerge

并将您的文件与

合并
nbmerge file_1.ipynb file_2.ipynb file_3.ipynb > merged.ipynb

15
投票

pip install nbmerge

nbmerge file_1.ipynb file_2.ipynb file_3.ipynb > merged.ipynb

完整文档 - https://github.com/jbn/nbmerge


11
投票

您确实可以一次复制多个单元格 - 使用 Shift + J 或 Shift + Down 向下选择下一个单元格,并使用 Shift + K 或 Shift + Up 向上选择下一个单元格。然后,您可以将它们批量复制并粘贴到另一个笔记本,并通过确保目标笔记本处于命令模式(单元格具有蓝色边框)来保留单元格分裂。

请参阅 http://jupyter-notebook.readthedocs.io/en/stable/examples/Notebook/Notebook%20Basics.html#https://www.dataquest.io/blog/jupyter-notebook-tips-技巧-快捷方式/.


8
投票

安装 nbmerge:

pip install nbmerge

运行以下命令:

!nbmerge file_1.ipynb file_2.ipynb file_3.ipynb > merged.ipynb

为那些错过惊呼的人解答


1
投票

确保要合并的所有笔记本都位于同一文件夹/目录中,并将这些代码放入新的 jupyter 单元格中(请不要忘记感叹号)

 !nbmerge file_1.ipynb file_2.ipynb file_3.ipynb > merged_ouput.ipynb 

0
投票

我过去曾在 .ipynb 文件上使用文本编辑器做过几次这样的事情。这是一种相当容易理解的 json 格式。我的用例是将一系列单元移动到另一个笔记本中,或多或少作为存档活动。

确保您有适当的备份策略,以防您因遗漏逗号或类似内容而破坏 json 格式!

您最终会得到无效的校验和,当您第一次打开更改的笔记本时,系统会向您发出警告。第一次保存后,会创建一个新的校验和,警告就会消失。


0
投票

将笔记本的部分内容复制/粘贴到另一个笔记本中是Jupytext的一个用例。 Jupytext 可以将笔记本(输入)导出为

.py
.md
文件。执行任一

jupytext --set-formats ipynb,py --sync *.ipynb

jupytext --set-formats ipynb,md --sync *.ipynb

然后编辑文本文件,将所需的输入从一个文件移动到另一个文件,并使用

 更新相应的 
.ipynb

文件
jupytext --sync *.ipynb

请注意,此操作中仅保留输入未更改的输出。

Jupytext 也可以作为 Jupyter 的插件使用。在这种情况下,您不需要使用命令行。您可以使用文件/Jupytext 菜单(Jupyter Notebook)或 Jupytext 命令(Jupyter Lab)将笔记本与所需的文本文件“配对”。您只需在浏览器中刷新配对笔记本即可获取配对文本文件的最新编辑内容。


0
投票

在新的 Jupyter Notebook 中,运行以下命令:

pip install nbmerge

.

然后,重新启动您的内核。

最后,运行这个:

!nbmerge your_first_file.ipynb your_second_file.ipynb your_third_file.ipynb -o merged.ipynb

检查目录中是否有新创建的合并文件(

merged.ipynb

)

    


0
投票

然后输入以下内容:

    pip 安装 nbmerge
  1. 导入nbmerge
  2. !nbmerge name1.ipynb name2.ipynb name3.ipynb -o new_name.ipynb
  3. 这应该有效


0
投票

pip 安装 nbmerge pip 安装 nbformat nbmerge file1.ipynb 文件 2.ipynb > merged.ipynb

刚刚弄清楚为什么本节中的某些人会出错。 我正在使用 Jupitar Notebooks 运行 Virtual Studio with Python 3。似乎 nbmerge 调用了一个名为 nbformat 的类,该类在我的计算机上不存在。使用 pip 安装解决了我的问题。我在与 python 文件相同的目录中完成了所有这些操作。

参考:

https://github.com/jbn/nbmerge/blob/master/nbmerge/__init__.py

© www.soinside.com 2019 - 2024. All rights reserved.