如何恢复已删除的Jupyter Notebook单元格?

162

我使用Jupyter笔记本。我不小心删除了一个单元格,而且我无法回到之前的步骤。

我该如何恢复笔记本单元格?

6个回答

252

如果您进入“编辑”菜单,就会看到有一个“撤消删除单元格”的选项。

在MacOS中

如果您熟悉快捷键,可以使用 cmd + shift + p,然后输入undo进行恢复。无需鼠标移动。

在Windows中

首先通过按下ESC键切换到命令模式,然后可以按Z键来恢复已删除的单元格。 (感谢@nik7提出这个答案)


10
这在Jupyter Lab中已被移除,查看我的回答以了解如何在Jupyter Lab中执行相同的操作。 - Rishabh Agrahari
3
在Jupyter Lab中,它被称为“撤销单元格操作”。这个功能可以用来恢复已经删除的单元格,太好了! - beep_check

124

首先,通过按下 ESC 键进入命令模式,然后您可以按下 Z 键来恢复删除的单元格。即使在 Jupyter Lab 中也可以使用此方法,因为它没有“编辑”选项卡下的“撤消删除单元格”选项。


2
也适用于VSCode! - towi_parallelism

53
如果笔记本内核仍在运行并且您执行了该单元格,则可以在 _ih 中找到所有单元格的内容,包括已删除的内容。例如,最后五个单元格:
_ih[-5:]

4
在关闭内核的悲惨情况下,我发现只需打开IPython控制台并使用上箭头向上滚动历史记录即可显示已删除的单元格。这是我唯一有效的方法。 - Itamar Katz
3
一种恢复更改的解决方法:通过调用“%history -g”将您的IPython历史记录导出到纯文本文件中。您还可以针对特定的文件名执行此操作:%history -g -f filename -g是什么意思?- 没有-g时,它会导出当前会话的历史记录。使用-g将导出所有会话的历史记录。 - Serendipity
2
哇塞,%history 救了我的命...非常感谢 :) - igorkf
你真是个绝对的英雄。 - undefined

40

如果您需要撤销单元格内删除的内容,请按:
CTRL/CMD + Z

如果您需要恢复整个已删除的单元格,请按:
ESC + Z
尤其是第二个提示可能在您不小心删除了许多单元格时非常有用。


10
如果您已经重新启动了内核,那么%history_ih[:n]将为空。您可以希望恢复到最近的检查点。您可以使用“文件”>“恢复到检查点”来实现这一点。
如果您想在还原之前确定检查点中的内容-在您的工作目录(笔记本所在的目录)中,您将拥有一个存储检查点的隐藏文件夹。cd .ipynb_checkpoints将带您到该目录。您可以查看文件并查看您丢失的代码是否存在。
这刚刚救了我。在此处的答案中找到了它。

4

首先,按下"ESC"热键,然后您可以按Z键来恢复删除的单元格。

Jupyter Lab运行良好。


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