仅从Jupyter Notebook中获取代码

J D*_*DOe 3 python jupyter-notebook

有解决方案可以提取笔记本的所有代码吗?例如,如果我想生成笔记本“ source.py”的源文件,其中包含笔记本代码单元中的所有代码,那可能吗?

谢谢!

小智 7

转换

您可以使用命令行工具nbconvert将ipynb文件转换为其他各种格式。将其转换为.py文件的最简单方法是:

jupyter nbconvert --to script notebook_name.ipynb
Run Code Online (Sandbox Code Playgroud)

它仅输出代码和注释,而没有降价,输入和输出提示-仅代码。也有--stdout选择。

q

但是您也可以使用jq解析笔记本的JSON :

jq -j '
  .cells
  | map( select(.cell_type == "code") | .source + ["\n\n"] )
  | .[][]
  ' \
  notebook.ipynb > source.py
Run Code Online (Sandbox Code Playgroud)


小智 6

如果您使用的是jupyter lab,那么选项是: File > Export Notebook As > Executable Script


Sla*_*lam 5

您可以做File -> Download as -> Python (.py)—这应将所有代码单元导出为单个.py文件


Sta*_*ean 2

有一个“丑陋”的解决方案。选择笔记本的所有单元格。合并它们,然后复制并粘贴所有代码。