2

我将 Jupyter Notebook 与 Python 一起使用。我不是程序员,但我已经学习 Python 大约一年了。

我正在处理一些保存在笔记本同一个文件夹中的文本文件,我不小心打开了一个 .ipynb 文件并对其进行了更改。

据我所知,我只是粘贴了一个文本字符串。我知道我粘贴了什么,我删除了它,但现在 jupyter notebook 无法识别该文件。消息是:

Unreadable Notebook: C:\Users\untal\Python\notas analyser.ipynb
NotJSONError('Notebook does not appear to be JSON: \'\\ufeff{\\n "cells": [\\n {\\n "cell_typ...',)

我什至无法理解文本文件以查找问题并修复它......我什至不知道这是否是一个选项。

有什么工具或方法可以用来恢复我的笔记本吗?

4

3 回答 3

3

恢复损坏的 Jupyter 笔记本文件(无论是否包含文本(大小 = 0KB))的一种可能方法是转到项目文件夹并显示隐藏文件。
如果幸运的话,一旦显示隐藏文件,您将看到一个名为“.ipynb_checkpoints”的文件夹。
打开这个文件夹,你应该会找到你的笔记本。

于 2019-09-25T21:32:06.747 回答
0

使用 Pycharm 对我有用。我无法真正修复该文件,因此我不得不将原始文件的每个单元格一个一个地复制到我在 python 中创建的功能文件中,然后用 Pycharm 打开...复制每个单元格后,我打开了使用 Jupyter 提交文件以检查并修复任何问题(回到 Pycharm)。肯定不是最佳解决方案,但我可以保存我所有的工作,所以它是一个可供初学者使用的有效解决方案!

于 2019-10-09T21:22:02.290 回答
0

.ipynb文件是一个 JSON 文件,您可以尝试在在线 JSON 编辑器中更正其语法。如果你在谷歌上看的话,有很多。(例如:https ://jsoneditoronline.org/# )

一旦你有了一个工作的 JSON 文件,在另一个笔记本上运行这个文本来打印单元代码。

import json

with open('./1-day.txt', 'r') as f:
    data = json.load(f)

for cell in data['cells']:
    if 'source' in cell:
        [print(i, end='') for i in cell['source'] ]
        print('\n#')

于 2020-04-30T08:27:56.357 回答