開けない.ipynbファイルの出力を外部から消す方法


背景

jupyter notebookで、行数が多いデータをうかつにprintしたりしてsaveし次回開こうとすると、開くのにかなり時間かかったり最悪開けないみたいなことが結構あります。(僕はよくあります)
そういう時に開けないと困るので、printした出力を外部から全て消すことで復旧しようという解決法です。

やり方

  1. まずnbcleanをpip installします
  2. 以下のコードを打ちます。
pip install nbclean
import nbclean

input_filename = "./hoge.ipynb"
output_filename = "./hoge_out.ipynb"

c = nbclean.clean.NotebookCleaner(input_filename))
# 削除する対象を選択
# ['content', 'output', 'output_text', 'output_image', 'stderr']
c.clear("output")
c.save(output_filename)

注意点としては、選択する対象で、contentを選ばないようにすることです。(全部消えます)
基本は"output"、もしくは"output_text"で大丈夫だと思います。