能否将一个jupyter笔记本中的单元格复制到另一个笔记本中?

117

我想把一个jupyter笔记本中的单元格复制到另一个笔记本中,这是否可能?

7个回答

108

这个功能是在Jupyter Notebook 5.0中引入的。 使用pip install notebook --upgrade来升级到最新版本。

旧的快捷键CVX仅适用于在一个笔记本中复制和粘贴。要在选项卡之间复制和粘贴,应该使用Ctrl-CCtrl-V(Mac上使用Cmd-CCmd-V)。

关于多个单元格的说明:目前(jupyter 6.0.0),在Mac+chrome中使用shift-click选择单元格然后cmd-C不起作用,而使用键盘的shift-down-arrow可以!(感谢drevicko指出这一点)


2
pip install notebook --upgrade 对我只在4.3版本有效,但 pip install notebook==5.1.0rc2 则成功了。 - Pafnucy
3
你的方法只适用于我在Jupyter笔记本之间复制和粘贴标记单元格。当我在代码单元格上按下"Ctrl-C"时,它只是将我发送到编辑模式。这里我做错了什么?谢谢。 - Bowen Liu
2
这在Firefox中不起作用(请参见:bug - sophros
1
Ctrl-C / Ctrl-V 可以使用,但是在 Jupyter 6.0 和 Ubuntu 18.04 上将内容粘贴到新笔记本中需要大约半分钟才能显示。 - Yu Shen
我刚刚发现有时候按Ctrl-C键会强制进入编辑模式。此时,单元格会变成绿色。然后你只需要按下“Enter”和“Ctrl-C”键,如果单元格没有变成绿色,那么你就可以准备粘贴了。 - shane
显示剩余5条评论

17

在jupyter 5.0.0中,从一个笔记本复制一个或多个单元格到另一个笔记本可以使用Cmd C Cmd V(Mac)进行操作。

如果要一次复制多个单元格,请使用shift箭头(向上或向下)选择第一个单元格和最后一个单元格。

工具栏不能用于此目的。

另请参见https://github.com/jupyter/notebook/issues/2336


6
在Linux上使用Ctrl-C/Ctrl-V。当你粘贴时,请确保处于命令模式(单元格左侧为蓝线),否则如果在编辑模式下(绿线),它会将所有复制的单元格合并为一个。按Esc键在命令模式和编辑模式之间切换。 - stason
3
注意:目前(jupyter 6.0.0)在Mac+chrome上使用Shift-click选择单元格然后用Cmd-C复制不起作用!但是使用Shift-down-arrow确实有效的(行为奇怪,但就是这样!)。在视觉上,Shift-click和Shift-down-arrow看起来相同,但显然并非如此... - drevicko

3

对于Windows系统-
使用Shift + 箭头键选择单元格后,使用Ctrl + Shift + C复制它们。

然后,切换到您想要复制所选单元格的笔记本电脑,并按Esc键进入命令模式。 然后,使用Ctrl + Shift + V将单元格粘贴到该笔记本电脑中。

注意:我没有在Linux上测试过,但应该与上述过程一样有效。


3

虽然我自己没有这样做过,但通常的做法是尽量避免这样做,因为它可能会干扰Cell JSON。在几个版本前甚至不可能这样做。最近的Github帖子使这成为可能。将需要修改的单元格复制粘贴到代码编辑器中,例如Atom或Sublime Text,在那里进行要更改的修改,然后将其粘贴回新的Jupyter笔记本中。应该可以工作。


我理解您的建议,但无论如何,我仍然想知道这是如何可能的。 - Ahmad Sultan
这个请求在Github上已经关闭,这基本意味着它已经解决了。你可以尝试这个链接,看看能否编写出类似的代码: - Varun Pius Rodrigues
2
我在提问之前已经阅读过了。他们说问题已经解决,但没有说明如何解决的。 - Ahmad Sultan

2

VSCode可以打开和执行jupyter笔记本。

在同一软件中,还可以从一个笔记本剪切/复制并粘贴到另一个笔记本(这是我无法使用jupyter笔记本或实验室做到的事情)。

这节省了我很多时间。


请注意,正如其他答案中指出的那样,这个功能也被添加到了Jupyter和JupyterLab中。 - undefined

0
在JupyterLab中,您可以将两个笔记本排列为并排的窗格进行查看(甚至是同一个笔记本的两个视图)。
然后,您可以选择单元格或连续范围。当它们被突出显示时,转到顶部单元格,单击并拖动到另一个笔记本中以复制它们。

-7

您可以从Jupyter下载单元格内容的.py文件,然后将其复制粘贴到任何您想要的地方


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接