jupyter notebook をコマンドラインで実行し HTML ファイルを生成する

はじめに

備忘録です。

最近は非エンジニアの分析官に一次分析内容を共有して定性分析を依頼したりする事が多いのですが、多数のモデルの場合 jupyter をある程度自動化したい場合があります。

私のよくやる流れとしては以下ですが、これを多数のモデルで PDCA を何回も回すことも珍しくありません。

  1. jupyter で分析する.
  2. html を出力して分析官に依頼する.
  3. 分析官は自分の手慣れた方法(Excelなど)で分析、レポーティングする

今回はこういったことに役立つ、jupyter notebook をコマンドラインで実行し HTML ファイルを生成する方法を紹介します。

jupyter notebook をコマンドラインで実行する

コマンドラインで実行する

コマンドラインで実行することに関してはこちらが詳しいです。 qiita.com

コマンドラインで .pynb の HTML 化する

今回の HTML 化についてはこちらに殆ど書いています。

python - How export a Jupyter notebook to HTML from the command line? - Stack Overflow

# 以下を実行すると notebook.html ファイルが生成されます
$ jupyter nbconvert --execute --to html notebook.ipynb

私がよくやるのは、雛形となる jupyter notebook を作り、変更される値や設定を変数化し、コマンドラインで置換(perlsed など)しながら様々な分析レポートを出力することです。

簡単な例

for model in model_A model_B .....;
do
    # 置換、或いは何らかのパーサー
    cat '雛形となる .ipynb' | perl -pe "s/置き換える文字列/${model}/s"  > ${model}.ipynb

    # html 生成
    jupyter nbconvert --execute --to html ${model}.ipynb
done