我正在尝试在此post上下载代码。
下载似乎成功,但是当我打开笔记本时,出现错误。
笔记本验证失败
无效的笔记本可能无法运行 正确地。验证错误为:
笔记本验证失败:不允许其他属性 (“ execution_count”,“输出”是意外的):
为什么打开Jupyter笔记本会出现“'输出'是意外的”错误?
有没有一种方法可以用来检查笔记本的哪一部分无效?
答案 0 :(得分:2)
Jupyter笔记本实际上存储为JSON文件,因此您只需在文本编辑器中将其打开即可。每个单元格都是一个JSON对象,该对象被解码为Python dict
。
出现此错误的原因是cell_type
是markdown
,表示这是Markdown单元格。
由于Markdown单元格是渲染的 而不是被执行,因此它们具有outputs
和execution_count
键(仅适用于代码单元格。
您可能会编写一个简单的脚本来检查Jupyter笔记本;像这样的东西:
import json
valid_keys = ['cell_type', 'metadata', 'source']
filename = ... # specify filename here
with open(filename) as f:
data = json.load(f)
for index, cell in enumerate(data['cells'], 1):
if cell['cell_type'] == 'markdown':
extra_keys = [key for key in cell.keys() if key not in valid_keys]
if extra_keys:
print(f'Cell {index} has the following keys which are invalid for a markdown cell: {extra_keys}')