有沒有辦法在IPython筆記本中選擇性地隱藏一個特定的輸入或輸出單元格?如何在IPython Notebook中隱藏一個特定的單元格(輸入或輸出)?
我只能找到下面的代碼來顯示/隱藏所有輸入單元格。
http://blog.nextgenetics.net/?e=102
但如果我只是想隱藏筆記本的第一個單元格中輸入什麼?
有沒有辦法在IPython筆記本中選擇性地隱藏一個特定的輸入或輸出單元格?如何在IPython Notebook中隱藏一個特定的單元格(輸入或輸出)?
我只能找到下面的代碼來顯示/隱藏所有輸入單元格。
http://blog.nextgenetics.net/?e=102
但如果我只是想隱藏筆記本的第一個單元格中輸入什麼?
這現在使用標籤內置到nbconvert(as of 5.3.0)中。
下面是從輸出中刪除特定單元格的示例。使用this notebook。這個例子有三個單元:一個降價單元,一個隱藏的代碼單元和一個不會被隱藏的代碼單元。
remove_cell
標籤添加到您希望使用內置到筆記本電腦或JupyterLab標記編輯器來隱藏任何細胞(具體名稱「remove_cell」無所謂)轉換與nbconvert
jupyter nbconvert nbconvert-example.ipynb --TagRemovePreprocessor.remove_cell_tags='{"remove_cell"}'
與標籤remove_cell
任何細胞將來自輸出被移除。
除了整個細胞,可以過濾只輸入或只輸出:
TagRemovePreprocessor.remove_input_tags
TagRemovePreprocessor.remove_single_output_tags
TagRemovePreprocessor.remove_all_outputs_tags
謝謝你。它是否只適用於html輸出?如果使用'jupyter nbconvert --to notebook --inplace ...',似乎沒有任何東西隱藏在生成的.ipynb文件中。 – Jack
最後發現使用此擴展名是可能的。
https://github.com/ipython-contrib/IPython-notebook-extensions/blob/master/usability/hide_input.js
更新:這似乎已合併到https://github.com/ipython -contrib/IPython-notebook-extensions/ – Hans
下面是一個可以讓你只編輯單元格的元數據隱藏在HTML/PDF輸出細胞的方法。
版本我使用的是:
$ jupyter notebook --version
4.1.0
$ jupyter nbconvert --version
4.2.0
jupyter notebook
localhost:8888/nbextensions
(或者你開始任何端口),並激活Printview
localhost:8888/tree
,創建一個新的筆記本電腦,並進入它print("You can see me") #but not me
View
>Cell Toolbar
>Edit Metadata
Edit Metadata
按鈕,現在顯示的單元格的右上角'hide_input':True
到JSON例如礦山看起來像{ "collapsed": false, "hide_input": true, "trusted": true }
後jupyter nbconvert --to pdf --template printviewlatex.tplx notebookname.ipynb
(如果你的筆記本電腦被稱爲notebookname.ipynb.ipynb
)你現在應該呼籲notebookname.pdf在目錄中的文件。希望它應該只有文本You can see me
在其中......手指交叉。
您可以更改隱藏所有輸入單元的解決方案,以僅影響單個單元格。
將'div.input'
更改爲'div.cell.code_cell.rendered.selected div.input'
。
HTML('''<script>
code_show=true;
function code_toggle() {
if (code_show){
$('div.cell.code_cell.rendered.selected div.input').hide();
} else {
$('div.cell.code_cell.rendered.selected div.input').show();
}
code_show = !code_show
}
$(document).ready(code_toggle);
</script>
To show/hide this cell's raw code input, click <a href="javascript:code_toggle()">here</a>.''')
這工作,因爲當你點擊「請點擊這裏」提示對電池的輸出,該小區將成爲「選擇」單元格,從而成爲隱藏。
如果您的JavaScript代碼執行<script></script>
標籤內的肘節與這樣
$(document).ready(code_toggle);
則該塊將自動(「默認」)來執行輸入單元時隱藏的代碼行。
請記住,如果你做默認是隱藏的單元格輸入,你必須與運行細胞運行單元(按Ctrl + 返回)選項,不的運行細胞和Select /在之下插入選項。 這些將在執行JavaScript之前提示將「選定」標籤移動到下一個單元格,因此您最終可能會隱藏其輸出中沒有「」點擊此處「切換鏈接的單元格。在這種情況下,您必須檢查該單元格並瀏覽相關標籤並將display='none';
更改爲display='block';
。
請注意,這必須放在單元中任何代碼的末尾,並且您需要在執行此代碼之前從IPython.display導入HTML。你可以通過執行
from IPython.display import HTML
似乎沒有容易的辦法?我認爲這會很有用,因爲有時候你想隱藏一些太長或者與上下文無關的單元。 –
2018年爲您答疑。您可以切換到Jupyter Lab。有一個懸停工具顯示在單元格左側(代碼和輸出),單擊哪個*摺疊*單元格 –