MotoJapan's Tech-Memo

技術めも

【ipython/jupyter】 ipython notebookの出力データを外部からclearする方法

ipython notebookもしくはjupyter notebookで日頃の作業をしている中で

  • 大量のログを出力したままファイルを閉じたり
  • ログを出しすぎて処理が重くなり、不用意にterminateしたり

して、次の実行時にipynbファイルの展開が遅くなったり、最悪展開できない、kernelが展開時にterminateすることがある。

その時の対処法をメモ。
やりたいこと=外部から出力カラムを削除

$ pip install nbclean
$ python
> import nbclean
> c = nbclean.clean.NotebookCleaner('./hoge.ipynb')
> c.clear(False, True)
> c.save('./hoge_cleaned.ipynb')

ポイントは下記。

> c.clear(False, True)

これの第一引数が入力カラム、第二引数は出力カラムを削除するフラグ。
間違えて、第一引数をTrueにするとコード本体が消える。

詳細はこれ。
https://www.pydoc.io/pypi/nbclean-0.1/autoapi/clean/index.html

追記: それでも開けない場合、ブラウザが未対応なデータを読み込もうとしていたりするので、起動ブラウザを変更してみる。


(個人的にipython notebookを日頃使います)