You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Jupyter Notebook中引入其他笔记本的完整内容(含Markdown)?

如何在Jupyter Notebook中实现类似LaTeX \include的子Notebook导入功能

你需要的是能同时导入子Notebook中Markdown单元格和**代码单元格(含输出)**的方案,%run确实只执行代码并返回输出,不会处理Markdown。下面是两种可行的解决方法:

方法一:自定义代码实现动态导入

通过nbformat读取子Notebook的结构,逐个渲染不同类型的单元格:

  1. 先导入依赖库:
import nbformat
from IPython.display import display, Markdown, Code
  1. 编写导入函数:
def include_notebook(notebook_path):
    # 读取子Notebook文件(使用nbformat v4版本)
    nb = nbformat.read(notebook_path, as_version=4)
    
    for cell in nb.cells:
        if cell.cell_type == "markdown":
            # 渲染并显示Markdown内容
            display(Markdown(cell.source))
        elif cell.cell_type == "code":
            # 先显示代码单元格内容
            display(Code(cell.source, language="python"))
            # 执行代码并输出结果
            exec(cell.source, globals())
  1. 在主Notebook中调用:
include_notebook("other.ipynb")

这样就能完整展示子Notebook里的Markdown文本、代码块,以及代码运行后的输出。

方法二:使用Jupyter Lab插件(可视化操作)

如果你偏好更直观的界面操作,可以安装jupyterlab-multipage插件,它支持将多个Notebook组织成一个多页面的项目,在主Notebook中直接嵌入子Notebook的全部内容,无需编写额外代码。


内容的提问来源于stack exchange,提问作者Saaru Lindestøkke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 08:05:24