详细介绍 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

相关推荐
L_cl37 分钟前
【NLP 36、CRF条件随机场 —— 源码解读】
人工智能·python·自然语言处理
NEET_LH1 小时前
Python个人学习笔记(14):函数(匿名函数、内置函数(下)、三元表达式)
笔记·python·学习
hrw_embedded1 小时前
AI浪潮下嵌入式软件开发如何拥抱AI:VSCODE + MarscodeAI插件+Embedded IDE
ide·人工智能·vscode
xinxiyinhe1 小时前
Python从基础开发到前沿技术完整生态(应用&技术栈)(2025版)
python·django·flask
风逸尘_lz2 小时前
visual studio配置opencv
ide·opencv·visual studio
君科程序定做2 小时前
Insar结合ISCE2,某一个文件进行并行-stackSentinel.py
linux·python
小喵要摸鱼2 小时前
【Python LeetCode 专题】排序算法
python·leetcode·排序算法
弧襪2 小时前
基于Flask的Web应用开发
前端·python·flask
databook3 小时前
『Plotly实战指南』--架构与设计理念
python·数据分析·数据可视化