回答问题Stack Overflow,我使用相同的ipython笔记本,这使得以前给出的答案更容易搜索。
笔记本开始变慢。我的问题是:我如何计算笔记本中的单元格数量?
答案 0 :(得分:6)
例如:
import json
document = json.load(open(filepath,'r'))
for worksheet in document['worksheets']:
print len(worksheet['cells'])
答案 1 :(得分:4)
实际上没有必要解析json。只需将其作为文本读取并计算例如“单元格类型”的实例:
with open(fname, 'r') as f:
counter = 0
for line in f:
if '"cell_type":' in line:
counter += 1
或者,更简单,只需在文本编辑器中打开你的.ipynb笔记本,然后突出显示相同的文本并通过点击ctrl + F(或任何用于搜索的绑定)来查看计数。强>
如果任何单元格有降价并且您想要避开这些标记,您也可以只搜索"cell_type": "code",
。
虽然正如其他人所说,但最好不要以这种方式存储代码。或者至少,我想你可以将它存储起来,以便将来更容易访问,如果你想要它作为参考。
答案 2 :(得分:1)
您可以通过以下命令从命令行执行笔记本:
jupyter nbconvert --ExecutePreprocessor.allow_errors=True --to notebook --execute jupyter_notebook.ipynb
其中:jupyter_notebook.ipynb
应替换为您的filename.ipynb
。
使用allow_errors=True
,无论执行过程中遇到任何错误,笔记本都会执行到最后。输出笔记本将包含所有引发异常的单元格的堆栈跟踪和错误消息。