我想以编程方式生成一些*.ipnb作为建模工作的一部分,这样我就可以将带注释的图形和带有markdown注释的代码转储到公共git代码库。理想情况下,我将创建一个新的笔记本,并在每次运行新模型时发布它。
从this gist中,我找到了一个完成此操作的模式,其中包括:from IPython.nbformat import current as nbf
但是,从去年春天开始,IPython.nbformat.current就被弃用了,实际上在jupyter/ipython4.0.1中并不存在,所以这对我不起作用。
现在正确的模式是什么?
发布于 2016-03-06 06:08:52
哦。
IPython.nbformat已弃用。
nbformat不是...
这似乎工作得很好:
from nbformat import current as nbf
def make_notebook(outPath: str, description: str):
nb = nbf.new_notebook()
code = "1+2"
cells = [nbf.new_text_cell('markdown', description), nbf.new_code_cell(code)]
nb['worksheets'].append(nbf.new_worksheet(cells=cells))
fname = 'test.ipynb'
with open(path.join(outPath,fname), 'w') as _:
nbf.write(nb, _, 'ipynb')发布于 2020-05-31 00:49:47
v4的更新版本
可能还有更好的版本,这对我很有效。
from nbformat import v4 as nbf
import nbformat
from os import path
def make_notebook(outPath: str, description: str):
nb = nbf.new_notebook()
code = "1+2"
cells = [nbf.new_markdown_cell( description), nbf.new_code_cell(code)]
nb['cells'] = cells
fname = 'test.ipynb'
print(nb)
with open(path.join(outPath,fname), 'w') as _:
nbformat.write(nb, _)https://stackoverflow.com/questions/35820409
复制相似问题