详细介绍 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**:你可以选择不同的模板来改变输出的样式。常用模板包括 basic、lab、notebook 等。例如:

    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

相关推荐
全栈练习生11 小时前
AI Agent 沙箱
python·ai
SEO_juper12 小时前
用 Python 写一个 GEO 可见性检查脚本:你的网站现在能被 AI 引用吗
开发语言·人工智能·爬虫·python·seo·外贸独立站
用户83562907805114 小时前
使用 Python 对 Excel 工作表进行排序
后端·python
for_ever_love__14 小时前
MySQL 全文索引实战:FULLTEXT、ngram 中文分词与 MATCH AGAINST 到底该怎么用
java·python·mysql·全文检索·分词·索引·ngram
kite012114 小时前
TraeCode 与 TraeWork 合并:AI 时代 IDE 的三种形态与未来开发工具
ide·ade·traework·traecode
用户83562907805114 小时前
使用 Python 合并 PowerPoint 演示文稿
后端·python
weixin_4617694014 小时前
VS Code 中创建 Jupyter 文件(.ipynb)
ide·python·jupyter
2601_9669496515 小时前
多市场量化策略的数据接口应该如何设计:从数据层架构到策略接入
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
浪潮IT馆15 小时前
Android Studio 非最新版本下载安装教程
android·ide·android studio
全栈弄潮儿15 小时前
Python实战第1期:Python环境搭建与第一个程序
python