【问题标题】:How do I fix a .ipynb file?如何修复 .ipynb 文件?
【发布时间】:2019-09-25 21:27:10
【问题描述】:

我将 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...',)

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

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

【问题讨论】:

  • 您可以尝试在文本编辑器中打开,例如 Markdown 或记事本,并尝试修复可能仍然存在的任何错误。此外,您可以使用 PyCharm 打开此文件,它提供对 .ipynb 文件的支持(并且可能允许您打开此文件,即使 jupyter 不会打开)。
  • 感谢您的回答。不幸的是,我的文件没有被删除而是被修改了。我查看了缓存,我只找到了损坏的文件...我猜那是因为我在更改后尝试打开它...
  • 我会尝试第二个建议!谢谢!

标签: python json jupyter


【解决方案1】:

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

【讨论】:

  • 我试过那个,但检查点太旧了。我试图用pycharm打开文件,它工作。我还得弄清楚如何阅读代码,因为我不习惯 pycharm……但现在它肯定更容易理解了!
  • 使用 Pycharm 对我有用。我无法真正修复该文件,因此我不得不将每个原始文件的单元格复制到我在 python 中创建的功能文件中,然后用 Pycharm 打开......很确定这不是一个最佳解决方案,但我可以保存我所有的工作,所以这是一个有效的解决方案!
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    .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#')
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-13
      • 2013-12-09
      • 1970-01-01
      • 2021-03-12
      • 2021-04-03
      • 2020-08-24
      • 2021-06-22
      • 1970-01-01
      相关资源
      最近更新 更多