引言
nbconvert 是 Jupyter 提供的一個工具,允許將 .ipynb 文件轉(zhuǎn)換為其他格式(如 HTML、PDF、Markdown、LaTeX、Python 腳本等),同時還支持執(zhí)行 notebook 中的代碼并將執(zhí)行結(jié)果保存到輸出文件中。
安裝
pip install nbconvert
用法
jupyter nbconvert [OPTIONS] notebook.ipynb
常見選項
-
--to <format>:指定輸出格式??梢赃x擇多種格式,包括:
- html:將 notebook 轉(zhuǎn)換為 HTML 格式。
- pdf:將 notebook 轉(zhuǎn)換為 PDF 格式。
- python:將 notebook 中的代碼導(dǎo)出為 Python 腳本。
- markdown:將 notebook 轉(zhuǎn)換為 Markdown 格式。
- notebook:將 notebook 轉(zhuǎn)換為 .ipynb 格式。
- latex:將 notebook 轉(zhuǎn)換為 LaTeX 格式。
--execute:在轉(zhuǎn)換過程中執(zhí)行 notebook 中的代碼。如果不指定,默認(rèn)只會轉(zhuǎn)換文本和代碼,不會執(zhí)行代碼。
--inplace:直接修改原始的 notebook 文件。如果不指定,nbconvert 會創(chuàng)建一個新的輸出文件。
--output <filename>:指定輸出文件的路徑和名稱。如果沒有指定,nbconvert 會自動生成一個文件名。
--ExecutePreprocessor.kernel_name=<kernel>:指定使用的內(nèi)核(如 python3),適用于 notebook 使用不同語言的場景。
--allow-errors:允許在執(zhí)行 notebook 時忽略錯誤并繼續(xù)執(zhí)行。如果 notebook 中的代碼單元出現(xiàn)錯誤,默認(rèn)情況下執(zhí)行會停止,添加此選項可以忽略錯誤。
示例:
- 后臺運(yùn)行notebook并覆蓋之前的notebook文件
NOTEBOOK="/home/txm/gpu_txmdata/integration/scMIAAC_v0/experiments/02_imbalanced/zhu/01_1_get_adata_zhu_rna.ipynb"
jupyter nbconvert --execute --to notebook --inplace --ExecutePreprocessor.kernel_name=python3 --output $NOTEBOOK $NOTEBOOK
- 循環(huán)執(zhí)行一系列文件
NOTEBOOKS=(
"/home/txm/gpu_txmdata/integration/scMIAAC_v0/experiments/02_imbalanced/zhu/01_1_get_adata_zhu_rna.ipynb"
# "/home/txm/gpu_txmdata/integration/scMIAAC_v0/experiments/02_imbalanced/zhu/02_2_get_adata_zhu_rna.ipynb"
# "/home/txm/gpu_txmdata/integration/scMIAAC_v0/experiments/02_imbalanced/zhu/03_3_get_adata_zhu_rna.ipynb"
# 繼續(xù)添加更多的文件路徑...
)
# 循環(huán)執(zhí)行每個 notebook 文件
for NOTEBOOK in "${NOTEBOOKS[@]}"; do
jupyter nbconvert --execute --to notebook --inplace --ExecutePreprocessor.kernel_name=python3 --output $NOTEBOOK $NOTEBOOK
done
- 后臺運(yùn)行notebook并生成一個html格式的文件
NOTEBOOK="/home/txm/gpu_txmdata/integration/scMIAAC_v0/experiments/02_imbalanced/zhu/01_1_get_adata_zhu_rna.ipynb"
jupyter nbconvert --execute --to html --ExecutePreprocessor.kernel_name=python3 $NOTEBOOK