Wie kann ich gelöschte Jupyter-Notebookzellen wiederherstellen?

101

Ich benutze Jupyter Notebook. Ich habe versehentlich eine Zelle gelöscht und kann nicht zurücktreten.

Wie kann ich die Notebook-Zelle wiederherstellen?

HISI
quelle

Antworten:

159

Wenn Sie zu "Bearbeiten" gehen, gibt es eine Option für "Zellen löschen rückgängig machen".

Wenn Sie mit Verknüpfungen vertraut sind, können Sie cmd++ shift ausführen pund dann eingeben, undoum die Wiederherstellung ebenfalls durchzuführen. Sie müssen Ihre Maus nicht bewegen.

TYZ
quelle
7
Dies wurde in Jupyter Lab entfernt. In meiner Antwort erfahren Sie, wie Sie dasselbe in Jupyter Lab tun können.
Rishabh Agrahari
im jupyter lab ist es "zellbetrieb rückgängig machen". Dies funktioniert, um gelöschte Zellen wiederherzustellen ** Puh ...!
beep_check
68

Wechseln Sie zuerst durch Drücken in den Befehlsmodus ESC. Anschließend können Sie drücken Z, um die gelöschten Zellen wiederherzustellen. Es funktioniert sogar in Jupyter Lab, wo die Option "Zellen löschen rückgängig machen" auf der Registerkarte "Bearbeiten" nicht verfügbar ist.

Rishabh Agrahari
quelle
1
Funktioniert auch in VSCode!
Towi_parallelism
30

Wenn der Notebook-Kernel noch ausgeführt wird und Sie die Zelle ausgeführt haben, finden Sie den Inhalt aller Zellen, einschließlich der gelöschten, in _ih. Zum Beispiel die letzten fünf Zellen:

_ih[-5:]
Mike Müller
quelle
1
In dem traurigen Fall, dass der Kernel geschlossen wurde, habe ich herausgefunden, dass das einfache Öffnen einer Ipython-Konsole und das Zurückblättern im Verlauf mit dem Aufwärtspfeil die ausgeführte gelöschte Zelle anzeigt. Das ist das einzige, was für mich funktioniert hat.
Itamar Katz
Eine Problemumgehung zum Wiederherstellen von Änderungen: Exportieren Sie Ihren IPython-Verlauf in eine Nur-Text-Datei, indem Sie "% history -g" aufrufen. Sie können dies auch für einen bestimmten Dateinamen tun:% history -g -f Dateiname Was macht -g? - Ohne -g wird der Verlauf für die aktuelle Sitzung exportiert. Mit -g wird der Verlauf für alle Sitzungen exportiert.
Serendipity
20

Wenn Sie etwas, das in einer Zelle gelöscht wurde , rückgängig machen müssen , drücken Sie:
CTRL/ CMD+Z

Wenn Sie einen gesamten gelöschten Zelltreffer wiederherstellen müssen :
ESC+ Z.
Insbesondere dieser zweite Tipp kann hilfreich sein, wenn Sie versehentlich viele Zellen löschen.

Hadis Bagherpour
quelle
6

wenn Sie bereits Ihren Kernel dann neu gestartet %historyoder _ih[:n]würden leer sein. Sie können hoffen, dass ein neuer Checkpoint wiederhergestellt wird. Sie können dies mit Datei> Auf Prüfpunkt zurücksetzen tun.

Wenn Sie vor dem Zurücksetzen sicher sein möchten, was sich im Prüfpunkt befindet, haben Sie in Ihrem Arbeitsverzeichnis (in dem sich Ihr Notebook befindet) einen versteckten Ordner, in dem Ihre Prüfpunkte gespeichert sind. cd .ipynb_checkpointsbringt dich dorthin. Sie können in die Datei schauen und feststellen, ob Ihr verlorener Code vorhanden ist.

Das hat mich gerade gerettet. Fand dies in einer Antwort hier

Polina Sklyarevsky
quelle