导出 Notebook
完成分析后,通常需要将 Notebook 分享给不安装 Jupyter 的人,或提交为报告。Jupyter 支持多种导出格式。
通过菜单导出
打开 Notebook,点击 File → Download as,选择格式:
| 格式 | 文件扩展名 | 适用场景 |
|---|---|---|
| Notebook | .ipynb | 源文件,可继续编辑 |
| Python | .py | 提取代码,去除 Markdown 和输出 |
| HTML | .html | 静态网页,保留代码和输出,可直接浏览器打开 |
| Markdown | .md | 文档格式,便于 Git 查看 |
| PDF via LaTeX | 学术报告(需要安装 LaTeX) | |
| Reveal.js | .html(幻灯片) | 基于 Web 的演示幻灯片 |
使用 nbconvert 命令行
nbconvert 是更强大的导出工具,支持批量处理和自定义模板:
# 导出为 HTML(最常用) $ jupyter nbconvert --to html analysis.ipynb → analysis.html # 导出为 Python 脚本 $ jupyter nbconvert --to script analysis.ipynb → analysis.py # 导出为 PDF(需要安装 LaTeX + pandoc) $ jupyter nbconvert --to pdf analysis.ipynb # 导出并执行(先运行所有单元格,再导出) $ jupyter nbconvert --to html --execute analysis.ipynb # 批量导出整个目录 $ jupyter nbconvert --to html notebooks/*.ipynb # 导出时不包含代码,只保留输出和文本 $ jupyter nbconvert --to html --no-input analysis.ipynb
TIP
--execute 参数会先从头执行整个 Notebook,再导出。这是生成"可复现报告"的标准做法,常用于 CI/CD 中自动生成定期报告。
分享 Notebook
GitHub 自动渲染
将 .ipynb 文件推送到 GitHub,GitHub 会自动渲染成格式化的页面(包括图表和输出)。
# 在 push 前清除输出(减少 diff 噪音) $ pip install nbstripout $ nbstripout analysis.ipynb # 清除所有输出 # 或者安装 git hook,每次 commit 自动清除 $ nbstripout --install
WARNING
带有输出的 Notebook(尤其是含有 Base64 图片)可能非常大,且 git diff 难以阅读。推荐提交时使用 nbstripout 清除输出,但保留一份"已运行"的版本用于渲染展示。
NBViewer
nbviewer.org 可以在线渲染任何公开的 Notebook URL,无需安装 Jupyter:
- 将 Notebook 上传到 GitHub 或 Gist
- 访问
nbviewer.org - 输入 GitHub URL,即可生成可分享的渲染链接
Google Colab
Google Colab 是免费的云端 Jupyter 环境,无需安装:
- 访问
colab.research.google.com - 上传本地
.ipynb文件,或直接从 GitHub 打开 - 免费提供 GPU/TPU 资源,适合深度学习
JupyterLab:下一代界面
JupyterLab 是 Jupyter 的全新界面,是对经典 Notebook 的重大升级。
# 启动 JupyterLab
$ jupyter lab
JupyterLab vs 经典 Notebook
| 功能 | 经典 Notebook | JupyterLab |
|---|---|---|
| 多面板布局 | ❌ 每个文件独立标签页 | ✅ 可拖拽调整多面板 |
| 文件浏览器 | 仅主页可用 | 始终可见的侧边栏 |
| 终端 | 需要额外打开 | 直接嵌入界面 |
| 代码编辑器 | 仅 Notebook | 内置纯文本编辑器 |
| CSV 预览 | ❌ | ✅ 直接浏览 CSV 文件 |
| 目录树 | ❌ | ✅ 侧边栏显示文档大纲 |
| 扩展生态 | 有限 | 丰富的 npm 扩展 |
| 界面主题 | 有限 | 多种亮/暗主题 |
JupyterLab 特色功能
多面板布局
可以将两个 Notebook 并排显示,左边写代码,右边看结果;或者左边 Notebook,右边是终端:
- 右键点击标签页
- 选择 "Create New View for Notebook"
- 拖拽到侧边,形成分屏布局
命令面板
按 Ctrl+Shift+P(macOS: ⌘+Shift+P)打开命令面板,搜索任何操作,类似 VS Code 的体验。
变量检查器
安装 @jupyterlab/debugger 扩展后,可以在侧边栏实时查看所有变量的值,无需执行 %whos。
推荐扩展工具
| 工具 | 安装 | 功能 |
|---|---|---|
| nbstripout | pip install nbstripout | 提交前清除 Notebook 输出 |
| nbformat | pip install nbformat | 读写 .ipynb 文件的 Python API |
| papermill | pip install papermill | 参数化运行 Notebook(批量实验) |
| nbconvert | 已内置 | 格式转换 |
| jupyter_contrib_nbextensions | pip install | 经典 Notebook 扩展包(目录、代码折叠等) |
参数化 Notebook(papermill)
papermill 可以给 Notebook 中的变量注入参数,实现批量运行:
# 在 Notebook 中,给参数单元格打 "parameters" 标签 # (View → Cell Toolbar → Tags,添加 "parameters" 标签) date = "2026-03-01" # 这个单元格有 parameters 标签 symbol = "AAPL" # 从命令行注入参数并运行 $ papermill analysis.ipynb output/AAPL_march.ipynb \ -p date "2026-03-31" \ -p symbol "AAPL" # 批量运行,生成多份报告 $ for symbol in AAPL GOOG MSFT; do papermill analysis.ipynb output/${symbol}.ipynb -p symbol $symbol done
本章小结
- File → Download as,或
nbconvert命令行导出 HTML/PDF/Python - GitHub 自动渲染
.ipynb;nbviewer 在线分享 - Google Colab 无需安装,提供免费 GPU
- JupyterLab 是多面板现代 IDE 界面,推荐新项目使用
- papermill 实现参数化批量运行 Notebook
恭喜完成!
你已经掌握了 Jupyter Notebook 的全部核心功能。下一步:尝试将你的日常数据分析工作迁移到 Jupyter,体验代码与文档一体化的高效工作流!