.ipynb Julia 文件到 .jl 文件

.ipynb Julia files to .jl files

有没有一种方便的方法可以将 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"
    }
   ],

有个很方便的方法:jupytext. The docs show how you can use it both inside of jupyter or jupyterlab and at the command line.

示例:

jupytext --to jl Notebook.ipynb

从 shell 你可以这样做:

jupytext --to jl "path/to/notebooks/*.ipynb"

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

using NBInclude
nbexport("Notebook.jl", "Notebook.ipynb")

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

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