不可读的笔记本 NotJSONError('Notebook does not appear to be JSON: u\'{\\n "cells": [\\n {\\n "cell_type": "...',)
Unreadable Notebook NotJSONError('Notebook does not appear to be JSON: u\'{\\n "cells": [\\n {\\n "cell_type": "...',)
当我试图加载我的 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 中的一些恶意尾随逗号,例如 "outputs" 中的逗号:
...
"language": "python",
"metadata": {},
"outputs": [],
},
删除逗号后,Jupyter/IPython 可以再次阅读笔记本(并将其升级到版本 4)。希望对您有所帮助。
这也发生在我身上。我用记事本打开我的 data.ipynb 文件,发现它是空白的。
我设法通过进入隐藏的 ipynb_checkpoints 文件夹并将 data_checkpoint.ipynb 复制到我的工作目录来恢复我的文件。
在我的MacOS终端
cd .ipynb_checkpoints
cp data-checkpoint.ipynb \..
谢天谢地,代码被保留了下来。希望这对您有所帮助!
就我而言,我正在使用 GitHub 保存我的 ipython 文件并与我的队友共享。当代码中存在冲突时,我不得不删除那些指示冲突代码更改的行,例如:
>>>>>>>>head
=============
它对我有用。
我遇到这个问题是因为不小心从 github 中保存为 .txt 并通过删除 .txt 解决(下载时保留 .ipynb 而不是 .ipynb.txt)
免得您头疼。在任何在线 JSON 验证器中打开你的 .ipynb,它会告诉你哪些行有问题。我用了 this one.
恢复损坏的 Jupyter notebook 文件(无论是否包含文本(大小 = 0KB))的最简单方法是转到项目文件夹并显示隐藏文件。显示隐藏文件后,您将看到一个名为“.ipynb_checkpoints”的文件夹。只需打开此文件夹并取出您想要的文件!
是的,对我来说最好的解决方案是我将我的笔记本保存为 HTML 格式,然后在记事本 ++ 中打开它,删除导致我的笔记本增长到 45MB 的长重复输出行,一旦清除,将文件保存回 (.ipynb) 格式,并且能够打开它而没有 JSON 错误。
希望对其他人也有用!
这可以更改为重新格式化您的 ipynb 文件,以便在 jupyter notebook 中可读。检查您的其他 ipynb 文件(在记事本中打开),这些文件在您的 jupyter 笔记本上运行良好,在记事本中的文件末尾进行检查和比较。在那里你可以重新格式化不起作用的文件。
Visual studio代码程序
这是我的程序,通常避免我在黑暗中摸索。
- 我安装了一个 json 像这样的解析器验证器 one。
- 打开文件并将副本另存为 .json 文件。
- 打开 json 并查找错误。
- 将其保存回 .ipynb 扩展名。
通常,我会设法快速修复错误。
Jupyter 以特定方式自动保存。这意味着您在正确保存之前不小心关闭了笔记本。
你需要寻找三样东西 -
- 搜索
<<<<<<<
并删除这些行。
- 搜索
======
并将这些行替换为 ,
。
- 搜索
>>>>>>>
并删除这些行。
之后就可以正常工作了。
在使用 VS Code 和 Jupyter 扩展 git 合并后,我遇到了同样的问题。
git 在笔记本 JSON 中突出显示合并冲突后,VS Code 不会打开笔记本(例如 <<<<<)。一种解决方法是突出显示更改并使用 VSCode git 界面中的文件查看器逐一接受。
对我有用的替代方法是将文件重命名为 .json 以便它打开,然后搜索 <<<<< 的每个实例并接受传入的更改。
将我的代码推送到 Github 时发生冲突后出现此错误。回购中的代码是旧的,我的更改被隐藏了。 Notebook 未在 Jupyter 和 github 存储库中打开。按照上面的评论,我在我的代码中搜索了给出 JSON 错误的部分,即'<<<<<<<<<<<'
、'======='
和 '>>>>>>>>>>'
字符使用在线 json 解析器。然后我在 notepad++ 中打开我的 .ipynb 笔记本并手动将这些字符替换为空白字符串 ''
。在此之后,笔记本在我本地的 Jupyter 上打开,我也将更改推送到 Github。
我已经通过 ipynb 文件编码从 UTF-8-BOM 更改为 UTF-8,然后就可以了。
我的母语不是英语,但是因为这个问题对我有帮助,所以我来反馈我的解决方案。
以下是用翻译软件翻译的:
从根本上说,文件格式因错误关闭而混乱。打开的时候会先检查json格式的正确性,发现不对就返回错误。
我的文件格式混乱不是 <<<<< 或 ====== 而是缺少逗号。
无论哪种方式,最好使用一款软件来检测 json 语法中的错误,然后自己手动修复。
最高赞提供的json网站检测可用,但检测错误不全,可能需要detected-modified-detected-modified。
同样用vscode打开文件,vscode会提示json语法错误的位置,同样不完整,需要多次检查修改。
提供的错误位置比较难找。我用的是nodepad++,右下角可以显示selected了多少个字符(标准,包括换行符)。然后 select 从第一个字符开始,直到目标位置。
虽然有点笨,但主要是没找到相关的定位方法
当我试图加载我的 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 中的一些恶意尾随逗号,例如 "outputs" 中的逗号:
...
"language": "python",
"metadata": {},
"outputs": [],
},
删除逗号后,Jupyter/IPython 可以再次阅读笔记本(并将其升级到版本 4)。希望对您有所帮助。
这也发生在我身上。我用记事本打开我的 data.ipynb 文件,发现它是空白的。
我设法通过进入隐藏的 ipynb_checkpoints 文件夹并将 data_checkpoint.ipynb 复制到我的工作目录来恢复我的文件。
在我的MacOS终端
cd .ipynb_checkpoints
cp data-checkpoint.ipynb \..
谢天谢地,代码被保留了下来。希望这对您有所帮助!
就我而言,我正在使用 GitHub 保存我的 ipython 文件并与我的队友共享。当代码中存在冲突时,我不得不删除那些指示冲突代码更改的行,例如:
>>>>>>>>head
=============
它对我有用。
我遇到这个问题是因为不小心从 github 中保存为 .txt 并通过删除 .txt 解决(下载时保留 .ipynb 而不是 .ipynb.txt)
免得您头疼。在任何在线 JSON 验证器中打开你的 .ipynb,它会告诉你哪些行有问题。我用了 this one.
恢复损坏的 Jupyter notebook 文件(无论是否包含文本(大小 = 0KB))的最简单方法是转到项目文件夹并显示隐藏文件。显示隐藏文件后,您将看到一个名为“.ipynb_checkpoints”的文件夹。只需打开此文件夹并取出您想要的文件!
是的,对我来说最好的解决方案是我将我的笔记本保存为 HTML 格式,然后在记事本 ++ 中打开它,删除导致我的笔记本增长到 45MB 的长重复输出行,一旦清除,将文件保存回 (.ipynb) 格式,并且能够打开它而没有 JSON 错误。 希望对其他人也有用!
这可以更改为重新格式化您的 ipynb 文件,以便在 jupyter notebook 中可读。检查您的其他 ipynb 文件(在记事本中打开),这些文件在您的 jupyter 笔记本上运行良好,在记事本中的文件末尾进行检查和比较。在那里你可以重新格式化不起作用的文件。
Visual studio代码程序
这是我的程序,通常避免我在黑暗中摸索。
- 我安装了一个 json 像这样的解析器验证器 one。
- 打开文件并将副本另存为 .json 文件。
- 打开 json 并查找错误。
- 将其保存回 .ipynb 扩展名。
通常,我会设法快速修复错误。
Jupyter 以特定方式自动保存。这意味着您在正确保存之前不小心关闭了笔记本。
你需要寻找三样东西 -
- 搜索
<<<<<<<
并删除这些行。 - 搜索
======
并将这些行替换为,
。 - 搜索
>>>>>>>
并删除这些行。
之后就可以正常工作了。
在使用 VS Code 和 Jupyter 扩展 git 合并后,我遇到了同样的问题。
git 在笔记本 JSON 中突出显示合并冲突后,VS Code 不会打开笔记本(例如 <<<<<)。一种解决方法是突出显示更改并使用 VSCode git 界面中的文件查看器逐一接受。
对我有用的替代方法是将文件重命名为 .json 以便它打开,然后搜索 <<<<< 的每个实例并接受传入的更改。
将我的代码推送到 Github 时发生冲突后出现此错误。回购中的代码是旧的,我的更改被隐藏了。 Notebook 未在 Jupyter 和 github 存储库中打开。按照上面的评论,我在我的代码中搜索了给出 JSON 错误的部分,即'<<<<<<<<<<<'
、'======='
和 '>>>>>>>>>>'
字符使用在线 json 解析器。然后我在 notepad++ 中打开我的 .ipynb 笔记本并手动将这些字符替换为空白字符串 ''
。在此之后,笔记本在我本地的 Jupyter 上打开,我也将更改推送到 Github。
我已经通过 ipynb 文件编码从 UTF-8-BOM 更改为 UTF-8,然后就可以了。
我的母语不是英语,但是因为这个问题对我有帮助,所以我来反馈我的解决方案。 以下是用翻译软件翻译的: 从根本上说,文件格式因错误关闭而混乱。打开的时候会先检查json格式的正确性,发现不对就返回错误。 我的文件格式混乱不是 <<<<< 或 ====== 而是缺少逗号。 无论哪种方式,最好使用一款软件来检测 json 语法中的错误,然后自己手动修复。 最高赞提供的json网站检测可用,但检测错误不全,可能需要detected-modified-detected-modified。 同样用vscode打开文件,vscode会提示json语法错误的位置,同样不完整,需要多次检查修改。
提供的错误位置比较难找。我用的是nodepad++,右下角可以显示selected了多少个字符(标准,包括换行符)。然后 select 从第一个字符开始,直到目标位置。 虽然有点笨,但主要是没找到相关的定位方法