Получить только код из ноутбука Jupyter - PullRequest
0 голосов
/ 24 января 2019

Есть ли решение вытащить весь код ноутбука?Например, если я хотел сгенерировать исходный файл моей записной книжки «source.py», который содержал весь код в ячейках кода записной книжки, это возможно?

Спасибо!

Ответы [ 4 ]

0 голосов
/ 01 июля 2019

Вы можете использовать инструмент командной строки "nbconvert" для преобразования файла ipynb в различные другие форматы. Самый простой способ преобразовать его в файл .py:

jupyter nbconvert --to script notebook_name.ipynb

Источник

Редактировать: выводит только код и комментарии без подсказок по уценке, вводу и выводу

0 голосов
/ 24 января 2019

Вы можете сделать File -> Download as -> Python (.py) - это должно экспортировать все ячейки кода как один .py файл

0 голосов
/ 24 января 2019

Поскольку формат записной книжки - JSON, относительно просто извлечь текстовое содержимое только из ячеек кода.Задача становится еще проще, если вы используете Python API для работы с файлами записной книжки .

. Ниже приведен код стандартного вывода.Вы можете справиться с этим другими способами так же легко.Имейте в виду, что в исходном коде может отсутствовать завершающий символ новой строки.

from nbformat import read, NO_CONVERT

with open("Some Notebook.ipynb") as fp:
    notebook = read(fp, NO_CONVERT)
cells = notebook['cells']
code_cells = [c for c in cells if c['cell_type'] == 'code']
for cell in code_cells:
    print(cell['source'])

Тем не менее узлы ноутбуков немного более гибкие, чем словари, и позволяют атрибуту (.name) доступ к полям, а также к подписке (*)1009 *).Как человек, испытывающий трудности при наборе текста, я предпочитаю писать

cells = notebook.cells
code_cells = [c for c in cells if c.cell_type == 'code']

for cell in code_cells:
    print(cell.source)

. Отвечая на этот вопрос, я узнал, что библиотека nbformat разобрана и, следовательно, может быть установлена ​​с pip без остальныхЮпитера.

0 голосов
/ 24 января 2019

Есть "некрасивое" решение.Выберите все ячейки вашего ноутбука.Объедините их, затем просто скопируйте и вставьте весь код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...