从 .py 转换为 .ipynb

She*_*Cat 11 python file-conversion ipython jupyter-notebook

我写了一个 juypter 笔记本,不知何故已转换为 .py。我希望它以原始格式返回。有谁知道这是怎么做到的吗?

之前有一个关于此的堆栈溢出问题,但该解决方案对我不起作用。转换为(不是来自)ipython Notebook 格式

下面是代码现在的示例。这是很多代码,因此手动复制和粘贴需要数小时。

谢谢您的帮助。

{
   "cell_type": "code",
   "execution_count": 581,
   "metadata": {},
   "outputs": [],
   "source": [
    "def add_trig_slope(data, size = 1, axis = 0, option = 0, random = False, lower_b = -1, upper_b = 2): \n",
    "    \n",
    "    # To make the gradual decline of the fuck you plot\n",
    "    ## sin, cos, tan, sigmoid, other activation functions?\n",
    "    # need to list the option in the doc string\n",
    "    \n",
    "    ## Add a random element\n",
    "    newdata = data.copy()\n",
    "    cols = list(newdata.columns)\n",
    "    funcs = [math.sin, math.cos, math.tan, expit]\n",
    "    func = funcs[option]\n",
    "    if axis == 0:\n",
    "        for col in cols:\n",
    "            newdata.loc[:, col] -= size * (func(cols.index(col)))\n",
    "            if random:\n",
    "                newdata.loc[:,col] -= np.random.uniform(lower_b,upper_b)\n",
    "\n",
    "    elif axis == 1:\n",
    "        for i, node in enumerate(newdata.index):\n",
    "            newdata.loc[node,:] -= size * (func(i))\n",
    "            if random:\n",
    "                newdata.loc[node,:] -= np.random.uniform(lower_b,upper_b)\n",
    "\n",
    "        \n",
    "    return newdata\n",
    "    \n",
    "    "
   ]

Run Code Online (Sandbox Code Playgroud)

ntg*_*ntg 16

你真的应该考虑使用jupytext

运行conda install jupytextpip install jupytext

然后做: jupytext --set-formats ipynb,py <file>.ipynb

这将创建 .ipynb 文件,并且额外的好处是使其与 .py 文件保持同步:

jupytext --set-formats ipynb,py <file>.ipynb --sync

这将确保 jupyter 从现在开始保存时保持两个文件同步......

最后注意:如果您是 gui 用户,运行 jupytext 的安装命令后,其他所有操作也可以从 gui 完成File-->jupytext-->pair Notebook with light Script在此输入图像描述


小智 14

使用 p2j 将 Python 源代码转换为 Jupyter Notebook。

从命令行,运行

-->pip install p2j
Run Code Online (Sandbox Code Playgroud)

然后转到您的文件所在的目录。-->(例如-> cd 下载,如果文件在下载目录中)

然后运行

-->p2j myscript.py
Run Code Online (Sandbox Code Playgroud)

这将创建一个 myscript.ipynb 文件。


Pan*_*ani 9

只需重命名它即可更改扩展名,例如 linux/macos

mv <file>.py <file>.ipynb
Run Code Online (Sandbox Code Playgroud)

或右键单击 Windows 的重命名并键入带有扩展名的全名

(因为内容似乎已经是 .ipynb 内容了)

  • 这个方法对我不起作用。尝试打开jupyter文件时的错误信息如下: `Unreadable Notebook: C:\Users\Wei-shan\Desktop\python notebooks\regression-trees\cart_weishan.ipynb NotJSONError('Notebook 似乎不是 JSON: \'"""CART算法的实现...')` (4认同)
  • 答案中的方法仅在您有一个保存为 .py 的笔记本(这就是问题所在)时才有效,而不是作为从 .py 到 .ipynb 的一般转换机制 (2认同)

小智 7

ipynb py 转换

通过以下步骤,您可以获得 .ipynb 文件

安装“pip install ipynb-py-convert” 通过命令提示符进入py文件保存的目录输入命令

ipynb-py-convert YourFileName.py YourFilename.ipynb

例如:。ipynb-py-convert 开始使用-kaggle-titanic-problem.py 开始使用-kaggle-titanic-problem.ipynb

上面的命令将创建一个名为“YourFileName.ipynb”的 python 脚本,根据我们的示例,它将创建getting-started-with-kaggle-titanic-problem.ipynb文件