将 python 转换为包含单个单元格的 jupyter

convert python to jupyter containing a single cell

我有一个执行ipynb文件的环境,但我想用py来写。我一直在尝试 p2j,但是,它将单个 py 脚本转换为大量单元格。有没有一种简单的方法(除了自己编写)在单个单元格中将 py 转换为 ipynb - 而不是在每个注释和行中将 py 拆分到不同的单元格?我正在使用 Ubuntu WLS。

Jupyter Notebook 只是一个 JSON 文件。因此,您可以将源文件读入行列表,然后将该列表放入 ipynb 结构中。之后,将内容转储到文件中。

import json

SOURCE = "source.py"
OUTPUT = "output.ipynb"

jupyter_file_content = {
    "cells": [
        {
            "cell_type": "code",
            "metadata": {},
            "source": list(open(SOURCE, encoding="utf-8"))
        },
    ],
    "metadata": {},
    "nbformat": 4,
    "nbformat_minor": 2
}

with open(OUTPUT, "w", encoding="utf-8") as file:
    json.dump(jupyter_file_content, file)

不过,将代码复制并粘贴到单元格中要容易得多。