Я пытаюсь создать блокнот Jupyter с 3 ячейками уценки и 3 ячейками кода в следующем порядке
Markdown cell 1
import numpy as np
import pandas as pd
Markdown cell 2
project_id=53
Markdown cell 3
import mysql.connector
Я использую эту суть и документацию nbformat
, но я обернул строку nb['cells'] = [nbf.v4.new_markdown_cell(text), nbf.v4.new_code_cell(code)]
внутри цикла Python for
.
Вот мой код
import nbformat as nbf
d = {
"""Markdown cell 1""":
"""\
import numpy as np
import pandas as pd
""",
"""Markdown cell 2""":
"""\
project_id=53""",
"""Markdown cell 3""":
"""\
import mysql.connector"""
}
nb = nbf.v4.new_notebook()
for k, v in d.items():
nb['cells'] = [nbf.v4.new_markdown_cell(k), nbf.v4.new_code_cell(v) ]
nbf.write(nb, "test.ipynb")
Задача
Это создает файл блокнота Jupyter. Однако записная книжка содержит только последнюю ячейку Markdown (ячейка Markdown 3) и последнюю ячейку кода (ячейка Code 3)
вот содержимое "test.ipynb"
блокнота, созданного с помощью вышеуказанного скрипта
Markdown cell 3
import mysql.connector
вот содержимое "test.ipynb"
записной книжки, которое отсутствует
Markdown cell 1
import numpy as np
import pandas as pd
Markdown cell 2
project_id=53
Я думаю, что команда nb['cells']
многократно перезаписывает одну и ту же ячейку, но я не знаю, как обойти это. После того, как он создаст первую ячейку, я не знаю, как указать, что он должен перейти к следующей ячейке ниже.
Вопрос
Есть ли способ создать несколько ячеек в блокноте Jupyter программно?
Версия
python
= 3,6
jupyter notebook
= 5.0.0
nbformat==4.4.0