日々ブログ

日々のくらしの中で思ったこと

【プログラミング】jupyter notebook でhtml出力する方法

最近プログラミングに関する記事を書いていなかったので、たまには真面目に技術系の記事を書きたいと思います。 jupyter notebook を使用していると、noteの内容を人に配布したいといった場合があります。 mark downと上手に組み合わせれば、グラフ付きの文章レポートをサクッと作れるようになります。 個人的には、文書をgit管理しやすいのが一番のメリットだったり。 f:id:xinformation:20211202224330p:plain

html で出力したい

nbconvertコマンドを使えば、同名のファイルが出来上がります。 特にプラグインは不要です。

jupyter nbconvert --to html input_notebook.ipynb

htmlに目次を付けたい

目次を付けたい場合、jupyter notebookの拡張機能を利用すればできます。 jupyter lab だと、拡張機能ラクに有効化できますし、管理できるのでおすすめ。 markdown形式で、目次を自動的に作成してくれるのは非常にありがたい機能だったりします。

jupyter nbconvert --to html_toc input_notebook.ipynb

コードは出力したくない

python のコードと説明文を一緒に書けるnotebookの強みを消すようなマネはしたくないのですが、エライ人に提出する場合はコードなんて要らなかったりします。 エライヒトコードハツウジマセン。

jupyter nbconvert --no-input input_notebook.ipynb

マウスアクションのあるグラフを表示したい

色々方法はあるのですが、plotlyを利用するのが良いでしょう。 下記宣言文をnotebook上で実行すれば、htmlを作成した時にも反映されます。

pip install plotly

地図を動かせるhtml出力を行う

foliumを使うと簡単に実現できます。 社内利用ならまだしも、客先に出す場合はOSSライセンスに気を付けた方が良いかも。

pip install folium

パワポのようなスライドを作成したい

RISEを利用すればスライド形式で作成可能です。 もちろん、html出力することができます。 若干オプションが効かなかったりするので、使用する場合はソフトウェアエンジニアとして覚悟を決めましょう。

pip install rise

拡張機能を使えばnotebookはPDFでも出力できる

拡張機能を使えば、notebookはPDFでも出力できるようになります。 一応、html出力すれば印刷からPDF出力できるんですがね。