如何将一个IPython笔记本文件(扩展名为.ipynb
的JSON格式)转换成常规的.py
模块?
如何将一个IPython笔记本文件(扩展名为.ipynb
的JSON格式)转换成常规的.py
模块?
从笔记本菜单中,您可以直接将文件保存为Python脚本。转到菜单的“文件”选项,然后选择“下载为”,您会看到一个“Python(.py)”选项。
另一个选择是使用命令行中的 nbconvert:jupyter nbconvert --to script 'my-notebook.ipynb'
请看 这里。
pip install jupyter
。安装完成后,进入您的项目目录并运行 jupyter notebook
。它应该会自动打开一个网页浏览器,否则请手动打开一个浏览器并访问 http://localhost:8888/notebooks/
开始创建或处理笔记本。 - WordBreweryipython [8.7.0]
兼容。返回警告:未识别的别名:'to',它将不起作用。
和文件 'nbconvert' 不存在
。 - DannyDannyDannyjupyter nbconvert --to script my-notebook.ipynb
- undefinedipython nbconvert notebook.ipynb --to script
[TerminalIPythonApp] WARNING | 子命令 'ipython nbconvert' 已被弃用并将在未来版本中删除。 [TerminalIPythonApp] WARNING | 你可能想在未来使用 'jupyter nbconvert'。
- Mattmynotebook.ipynb
转换为python
代码:
jupyter nbconvert mynotebook.ipynb --to python
注意:这与上述答案不同。 ipython
已更名为jupyter
。旧的可执行文件名(ipython)已弃用。
jupyter
命令行有一个 nbconvert
参数,可以将笔记本文件 (*.ipynb)
转换为各种其他格式。--to
选项将其转换为以下任何一种格式之一:jupyter nbconvert --to latex mynotebook.ipynb
有关更多信息,请参见 jupyter nbconvert --help
。 这里有很多选项。 您甚至可以在转换之前先执行代码,不同的日志级别选项等。你可以使用这个来做那个:
pip install ipynb-py-convert
然后在终端中运行以下命令将 .py 文件转换为 .ipynb 文件:
ipynb-py-convert Ex/abc.py Ex/abc.ipynb
将 .ipynb 文件转换为 .py:
ipynb-py-convert Ex/abc.ipynb Ex/abc.py
import json
files = ["my_first_file_name.ipynb", "my_second_file_name.ipynb"]
for file in files:
code = json.load(open(file))
py_file = open(f"{file}.py", "w+")
for cell in code['cells']:
if cell['cell_type'] == 'code':
for line in cell['source']:
py_file.write(line)
py_file.write("\n")
elif cell['cell_type'] == 'markdown':
py_file.write("\n")
for line in cell['source']:
if line and line[0] == "#":
py_file.write(line)
py_file.write("\n")
py_file.close()
我从Syrtis Major的回答中重写了这段代码。
jupyter nbconvert
,只需使用标准的json格式获取笔记本。绝对精彩! - Farhan Hai Khan在 Ubuntu 20.04 上进行测试。
安装 PIP 所需的软件包。
$ pip install ipython
$ pip install nbconvert
$ sudo apt-get install texlive-xetex texlive-fonts-recommended texlive-plain-generic
使用 jupyter nbconvert 命令将文件转换为不同的格式。
源文件 pro.ipynb
To convert to ascii
$ jupyter nbconvert --to asciidoc pro.ipynb
To convert to pdf
$ jupyter nbconvert --to pdf pro.ipynb
To convert to python
$ jupyter nbconvert --to python pro.ipynb
通过savefig 方法,使用pyplot 将 ipynb 项目转换为 Python 代码:
import matplotlib.pyplot as plt
%matplotlib inline
exp_vals=[1400,600,300,410,250]
exp_labels=['Home Rent','Food','Phone/Internet Bill','Car','Other Utilities']
plt.axis('equal')
plt.pie(exp_vals,labels=exp_labels,radius=2,autopct='%0.1f%%',shadow=True,explode=[0,0.5,0,0.3,0],startangle=20)
# plt.show()
plt.savefig('piechart.jpg',bbox_inches='tight',pad_inches=2,transparent=True,edgecolor='r')
它生成的piechart.png图像:
Hope this helps to convert your ~(`)/\/\/\_ [Python] code
首先,您需要安装下面这个程序包:
sudo apt install ipython
jupyter nbconvert --to script [YOUR_NOTEBOOK].ipynb
有两种选择可用,要么使用--to python,要么使用--to=python。
对我而言,这个选项可以正常工作:
jupyter nbconvert --to python while.ipynb
[NbConvertApp] Converting notebook while.ipynb to python
[NbConvertApp] Writing 758 bytes to while.py
pip3 install ipython
如果这对您不起作用,请尝试使用pip3。
pip3 install ipython
jupyter nbconvert --to python while.ipynb
如果这只是一次性的操作,可以根据需要选择使用命令行或GUI,例如关注@kikocorreoso。
然而,如果您想要一个能够维护.py和.ipynb同步版本的解决方案,您真的应该考虑使用jupytext,正如@Wayne所指出的那样。
运行conda install jupytext
或pip install jupytext
然后执行以下操作:jupytext --set-formats ipynb,py <file>.ipynb
为了将其与.py文件保持同步:
jupytext --set-formats ipynb,py <file>.ipynb --sync
这将确保Jupyter在保存时始终保持两个文件同步...
最后一点提示:如果您是GUI用户,在运行jupytext的安装命令后,其他所有操作也可以在GUI中完成:文件-->Jupytext-->将Notebook与轻量级脚本配对
:
ipynb,py
中的逗号困扰着我。 - Tom McKenziecat_ipynb
中,然后运行chmod +x cat_ipynb
。#!/usr/bin/env python
import sys
import json
for file in sys.argv[1:]:
print('# file: %s' % file)
print('# vi: filetype=python')
print('')
code = json.load(open(file))
for cell in code['cells']:
if cell['cell_type'] == 'code':
print('# -------- code --------')
for line in cell['source']:
print(line, end='')
print('\n')
elif cell['cell_type'] == 'markdown':
print('# -------- markdown --------')
for line in cell['source']:
print("#", line, end='')
print('\n')
cat_ipynb your_notebook.ipynb > output.py
或者直接使用vi
查看:
cat_ipynb your_notebook.ipynb | view -