.ipynb Julia 文件到 .jl 文件

JKH*_*KHA 6 file file-conversion julia jupyter-notebook

有没有一种便捷的方法可以将 Jupyter Notebook 生成的多个 .ipynb Julia 文件转换为 .jl 工作文件?

如果保留用 Jupyter 编写的 markdown 是很好的,但对于我的使用来说不是强制的。

以下是我的文件包含的内容示例:

{
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Some useful functions required to build the model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "distance (generic function with 1 method)"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#Euclidean distances between point p1 and p2\n",
    "function distance(p1,p2)\n",
    "    dist=((p1[1]-p2[1])^2+(p1[2]-p2[2])^2)^(1/2)\n",
    "    return dist\n",
    "end"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Tripletas (generic function with 1 method)"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
Run Code Online (Sandbox Code Playgroud)

ahn*_*abb 8

有一个非常方便的方法:jupytext该文档展示了如何在 jupyter 或 jupyterlab 内部以及在命令行中使用它。

例子:

jupytext --to jl Notebook.ipynb
Run Code Online (Sandbox Code Playgroud)

从外壳你可以做类似的事情:

jupytext --to jl "path/to/notebooks/*.ipynb"
Run Code Online (Sandbox Code Playgroud)


SGJ*_*SGJ 5

您还可以在 Julia 中使用NBInclude.jlnbexport中的函数,例如

using NBInclude
nbexport("Notebook.jl", "Notebook.ipynb")
Run Code Online (Sandbox Code Playgroud)

它还将 Markdown 单元格转换为 Julia 中的格式化和换行注释。

(请注意,此包还允许您直接使用 Julia 中的笔记本文件,无需转换。)