ノートブックからの出力が非常に長く、ノートブックに保存されている場合に問題が発生します。この特定のノートブックを再度開こうとすると、ブラウザがクラッシュして正しく表示できません。
これを修正するには、テキスト エディターで開き、問題の原因となっているセルからのすべての出力を削除する必要があります。
問題なく再度開くことができるように、ノートブックからのすべての出力を消去する方法があるのだろうか。特定の出力を削除するのは面倒なので、すべての出力を削除したいです。
ノートブックからの出力が非常に長く、ノートブックに保存されている場合に問題が発生します。この特定のノートブックを再度開こうとすると、ブラウザがクラッシュして正しく表示できません。
これを修正するには、テキスト エディターで開き、問題の原因となっているセルからのすべての出力を削除する必要があります。
問題なく再度開くことができるように、ノートブックからのすべての出力を消去する方法があるのだろうか。特定の出力を削除するのは面倒なので、すべての出力を削除したいです。
jupyer nbconvert
いくつかのサブ配列をクリアし、いくつかの実行番号をリセットするという単純な作業では、非常に遅いと言わざるを得ません。ノートブックのソースコードのフォーマットに変更があった場合、そのツールは更新されることが予想されるため、保守性に優れたソリューションです。ただし、以下の代替ソリューションはより高速であり、nbconvert 6.0 を持っていない場合にも役立つ可能性があります (現在、5.6.1 を実行している環境があります...)
非常に単純なjq
(一種の json の sed) スクリプトは、このトリックを非常に高速に実行します。
jq 'reduce path(.cells[]|select(.cell_type == "code")) as $cell (.; setpath($cell + ["outputs"]; []) | setpath($cell + ["execution_count"]; null))' notebook.ipynb > out-notebook.ipynb
非常に簡単に言えば、コード セルを識別し、それらのoutputs
andexecution_count
属性を[]
それぞれand に置き換えnull
ます。
または、出力のみを削除して実行回数を保持したい場合は、さらに簡単に行うことができます。
jq 'del(.cells[]|select(.cell_type == "code").outputs[])' notebook.ipynb > out-notebook.ipynb