在Jupyter中,有兩種方法可將筆記本導出爲其他格式,在命令行或庫中使用nbconvert。兩者都要求您將原始筆記本作爲輸入(作爲文件名或JSON數據)。從當前Jupyter筆記本中提取所有單元格數據
我想要做的事實質上是自動的,自包含的報告生成,即使用筆記本內的nbconvert庫,將相同的筆記本導出爲執行時的HTML/PDF。我設想在文檔的最後一個單元格中輸出代碼,並指示忽略導出的最後一個單元格。
我的問題是獲取數據。在筆記本內,我可以通過In[1]
,Out[2]
等訪問代碼單元,但AFAIK沒有降價單元的這種功能。也沒有(官方)方法來獲取筆記本的名稱(沒有__file__
屬性)以這種方式傳遞信息。
有很多例子可以從其他筆記本中獲取所有單元格數據 - 但是有沒有辦法從當前筆記本中訪問所有單元格數據?
謝謝蒂姆。你是對的,當然,我可以使用nbconvert傳遞文件名。我想我是以我的方式嘗試它(想要訪問單元格數據),以便我能更全面地控制,例如寫入報告的單元格以及報告的名稱和位置。 AFAIK nbconvert路線將要求報告文件具有與筆記本相同的名稱和路徑(並且筆記本要知道自己的名字,這可能會隨着筆記本的傳遞而輕易改變)。 – blackgore
所以我在這種情況下的解決方案是寫一些JavaScript添加元數據到客戶端上的筆記本json(即寫一個文件位置的表單,要保存的單元格等),然後將筆記本json發送到自定義服務器擴展並解析元數據,然後根據需要使用自定義模板/預處理筆記本json將其交給nbconvert。 –