详细介绍 Jupyter nbconvert 工具及其用法:如何将 Notebook 转换为 Python 脚本

nbconvert 是 Jupyter 提供的一个非常强大的工具,允许用户将 Jupyter Notebook 文件(.ipynb)转换成多种格式,包括 Python 脚本(.py)、HTML、PDF、LaTeX 等。你可以通过命令行来运行 nbconvert,也可以在 Jupyter Notebook 中通过一些自定义的设置来实现转换。

安装 nbconvert

通常情况下,nbconvert 会随 Jupyter 一起安装,因此不需要单独安装。如果你没有安装,可以通过以下命令安装:

pip install nbconvert

或者,如果你是使用 Anaconda 管理环境,可以使用:

conda install nbconvert

使用 nbconvert 工具将 Jupyter Notebook 转换为 Python 脚本

  1. 命令行基本语法
    nbconvert 的基本语法如下:

jupyter nbconvert --to python <notebook_filename>.ipynb

这条命令会将 Jupyter Notebook 文件(例如 1Federated.ipynb)转换为 Python 脚本文件(1Federated.py)。

  1. 常见的转换格式
    nbconvert 支持多种输出格式。使用 --to 参数可以指定目标格式。常见的几种格式包括:
  • Python.py):将 Notebook 文件转换为 Python 脚本。
    jupyter nbconvert --to python <notebook_filename>.ipynb
  • HTML.html):将 Notebook 文件转换为 HTML 格式,以便在浏览器中查看。
    jupyter nbconvert --to html <notebook_filename>.ipynb
  • PDF.pdf):将 Notebook 文件转换为 PDF 格式(需要安装 LaTeX 或 pandoc)。

jupyter nbconvert --to pdf <notebook_filename>.ipynb

  • Markdown ​(.md):将 Notebook 转换为 Markdown 格式,适合在其他 Markdown 支持的平台上查看。

    jupyter nbconvert --to markdown <notebook_filename>.ipynb

  • LaTeX ​(.tex):将 Notebook 转换为 LaTeX 格式,适合进一步处理和排版。

    jupyter nbconvert --to latex <notebook_filename>.ipynb

  • Notebook ​(.ipynb):将 Notebook 转换为一个新的 Notebook 文件,适用于有多个版本的文件之间的转换。

    jupyter nbconvert --to notebook <notebook_filename>.ipynb

  1. 选择输出文件名

    如果你想指定输出文件的名称,可以使用 --output 参数:

    jupyter nbconvert --to python <notebook_filename>.ipynb --output <output_filename>.py

    例如,以下命令会将 1Federated.ipynb 转换为 1Federated_script.py

jupyter nbconvert --to python 1Federated.ipynb --output 1Federated_script.py

  1. 批量转换

如果你有多个 Notebook 文件,并且想要批量转换为 Python 脚本,可以使用通配符。例如,将当前目录下的所有 .ipynb 文件转换为 .py 文件:

jupyter nbconvert --to python *.ipynb

  1. 转换并运行代码
    nbconvert 还可以在转换过程中自动运行代码,这对于生成包含最新输出的报告非常有用。可以通过 --execute 参数实现:

jupyter nbconvert --to python --execute 1Federated.ipynb

这会运行 1Federated.ipynb 中的所有代码单元并将其输出包含在转换后的 Python 脚本中。

  1. 其他选项
  • **--template**:你可以选择不同的模板来改变输出的样式。常用模板包括 basiclabnotebook 等。例如:

    jupyter nbconvert --to html --template lab 1Federated.ipynb

  • **--no-input**:如果你不希望输出 Python 脚本中包含代码单元的输入部分(即去掉代码),可以加上 --no-input 参数:

jupyter nbconvert --to python --no-input 1Federated.ipynb

这将生成只包含输出结果的 Python 脚本。

通过 Jupyter Notebook 界面导出

如果你不想使用命令行,也可以直接在 Jupyter Notebook 界面中导出 Notebook:

  1. 打开 1Federated.ipynb 文件。
  2. 点击菜单栏中的 File(文件)。
  3. 从下拉菜单中选择 Download as(下载为)。
  4. 选择 **Python (.py)**,即可将 Notebook 文件下载为 Python 脚本文件。

总结

  • nbconvert 工具是一个非常强大的命令行工具,可以将 Jupyter Notebook 文件转换为多种格式,如 Python 脚本、HTML、PDF 等。
  • 可以使用 --to 参数指定输出格式,使用 --output 参数自定义输出文件名。
  • 还可以通过 --execute 在转换时执行代码,确保生成的输出是最新的。
  • Jupyter 界面也提供了导出功能,适合不熟悉命令行的用户。

参考

https://nbconvert.readthedocs.io/en/latest/install.html

https://anaconda.org/conda-forge/nbconvert

https://blog.csdn.net/qq_36178962/article/details/115870759

https://www.w3ccoo.com/jupyter/jupyter_converting_notebooks.html

相关推荐
灏瀚星空1 分钟前
Python数学可视化:3D参数曲面与隐式曲面绘制技术
开发语言·python·3d
晨尘光3 分钟前
在Windows下编译出llama_cpp_python的DLL后,在虚拟环境中使用方法
python·llama
大河qu18 分钟前
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
ide·物联网·liteos·liteos studio·cmsis接口
Java Fans19 分钟前
如何在Windows本机安装Python并确保与Python.NET兼容
开发语言·windows·python
小邹子21 分钟前
抑郁症患者数据分析
python·信息可视化·数据分析
隐藏用户_y36 分钟前
基于PyCharm推送代码到github实践记录
python
sss191s1 小时前
校招 Java 面试基础题目解析学习指南含新技术实操要点
java·python·面试
YYXZZ。。1 小时前
PyTorch——非线性激活(5)
人工智能·pytorch·python
蹦蹦跳跳真可爱5891 小时前
Python----目标检测(YOLO简介)
人工智能·python·yolo·目标检测·计算机视觉·目标跟踪
En^_^Joy1 小时前
PyQt常用控件的使用:QFileDialog、QMessageBox、QTreeWidget、QRadioButton等
开发语言·python·pyqt