当我尝试加载我的ipython笔记本时出现这个非常奇怪的错误。从来没有过,我不记得了,记得曾经用ipython做过傻事:
Unreadable Notebook: /path/to/notebooks/results.ipynb NotJSONError('Notebook does not appear to be JSON: u\'{\\n "cells": [\\n {\\n "cell_type": "...',)
接下来是
400 GET /api/contents/results.ipynb?type=notebook&_=1440010858974 (127.0.0.1) 36.17ms referer=http://localhost:8888/notebooks/results.ipynb
从IPython 0.13(ish)升级到Jupyter 4后,我遇到了同样的问题。
我的问题是JSON中的一些流氓尾随逗号,例如下面的“输出”后面的逗号:
...
"language": "python",
"metadata": {},
"outputs": [],
},
删除逗号后,Jupyter / IPython可以再次读取笔记本(并将其升级到版本4)。我希望这有帮助。
这也发生在我身上。我用记事本打开了我的data.ipynb文件,发现它是空白的。
我设法通过进入隐藏的ipynb_checkpoints文件夹并将data_checkpoint.ipynb复制到我的工作目录来恢复我的文件。
在我的Mac OS终端中
cd .ipynb_checkpoints
cp data-checkpoint.ipynb \..
谢天谢地,代码被保留了下来。希望这可以帮助!
就我而言,我正在使用GitHub来保存并与我的队友分享我的ipython文件。当代码中存在冲突时,我必须删除那些指示冲突代码中的更改的行,例如:
>>>>>>>>head
=============
它对我有用。
恢复损坏的Jupyter笔记本文件的最简单方法是,它是否包含文本(大小= 0KB),是转到项目文件夹并显示隐藏文件。显示隐藏文件后,您将看到名为“.ipynb_checkpoints”的文件夹。只需打开此文件夹并获取所需的文件!
让自己头疼。在任何在线JSON验证器中打开你的.ipynb,它会告诉你哪些行有问题。我用过this one。
我从github意外保存为.txt并通过删除.txt解决了这个问题(下载时留下.ipynb而不是.ipynb.txt)