无法读取的笔记本NotJSONError('笔记本似乎不是JSON:u \'{\\ n“ cells”:[\\ n {\\ n“ cell_type”:“ ...',)

Ast*_*rid 4 json ipython ipython-notebook

当我尝试加载ipython笔记本时出现此非常奇怪的错误。以前从未有过,而且我无法回忆,记得对ipython做过任何愚蠢的事情:

Unreadable Notebook: /path/to/notebooks/results.ipynb NotJSONError('Notebook does not appear to be JSON: u\'{\\n "cells": [\\n  {\\n   "cell_type": "...',)
Run Code Online (Sandbox Code Playgroud)

其次是

400 GET /api/contents/results.ipynb?type=notebook&_=1440010858974 (127.0.0.1) 36.17ms referer=http://localhost:8888/notebooks/results.ipynb
Run Code Online (Sandbox Code Playgroud)

cry*_*ick 15

免得自己头疼。在任何在线 JSON 验证器中打开您的 .ipynb,它会告诉您哪些行有问题。我用过这个


Mag*_*eed 11

就我而言,我使用 GitHub 保存并与我的队友共享我的 ipython 文件。当代码中存在冲突时,我不得不删除那些指示冲突代码中更改的行,例如:

>>>>>>>>head
=============
Run Code Online (Sandbox Code Playgroud)

它对我有用。


Ami*_*osh 7

Jupyter 以特定方式自动保存。这意味着您在正确保存之前不小心关闭了笔记本。

你需要寻找三件事——

  • 搜索<<<<<<<并删除这些行。
  • 搜索======这些行并将其替换为,
  • 搜索>>>>>>>并删除这些行。

在此之后它会正常工作。


cr3*_*333 6

从 IPython 0.13 (ish) 升级到 Jupyter 4 后,我遇到了同样的问题。

在我的情况下,问题是 JSON 中的一些流氓尾随逗号,例如“输出”后面的逗号:

...
 "language": "python",
 "metadata": {},
 "outputs": [],
},
Run Code Online (Sandbox Code Playgroud)

删除逗号后,Jupyter/IPython 可以再次读取笔记本(并将其升级到版本 4)。我希望这有帮助。

  • 检查 json 结构中的错误的一个简单方法是在 VS Code 中打开 jupyter 笔记本,然后针对所有突出显示的错误单击“接受更改”。保存然后再次像往常一样打开nb (3认同)

run*_*kid 6

这也发生在我身上。我使用记事本打开了data.ipynb文件,发现它为空白。

我设法通过进入隐藏的ipynb_checkpoints文件夹并将data_checkpoint.ipynb复制到我的工作目录中来恢复文件。

在我的Mac OS终端中

cd .ipynb_checkpoints
cp data-checkpoint.ipynb \..
Run Code Online (Sandbox Code Playgroud)

值得庆幸的是,这些代码得以保留。希望这可以帮助!


小智 5

恢复损坏的 Jupyter Notebook 文件(无论是否包含文本(大小 = 0KB))的最简单方法是转到项目文件夹并显示隐藏文件。显示隐藏文件后,您将看到一个名为“.ipynb_checkpoints”的文件夹。只需打开此文件夹并获取您想要的文件!


G M*_*G M 5

Visual Studio代码流程

这是我的程序,通常可以避免我在黑暗中摸索。

  1. 我安装了一个像这样的 json 解析器验证器。
  2. 打开文件并将副本另存为 .json 文件。
  3. 打开 json 并查找错误。
  4. 将其保存回 .ipynb 扩展名。

通常,我会设法快速修复错误。