ipynb文件報告自動化執(zhí)行推送

ipynb文件報告自動化執(zhí)行推送

Jupyter notebook 文件對于數(shù)據(jù)科學(xué)代碼執(zhí)行和富文本報告的輸出比較友好(兼容markdown文檔,且代碼塊的結(jié)構(gòu)形式);但是ipynb文件并非標(biāo)準(zhǔn)的腳本文件,對于掛載定時自動化任務(wù)不太方便;還好有nbconvert包的支持,可操做ipynb文件的執(zhí)行和轉(zhuǎn)化 ,因此本文紀(jì)錄如何掛載ipynb定時報告的執(zhí)行和轉(zhuǎn)化html及報告的推送。

參考:nbconvert官方文檔

1、環(huán)境要求:

Python3 版本

jupyter notebook

nbconvert 包

測試相關(guān)環(huán)境時候是否準(zhǔn)備好?

后臺輸入以下命令:

jupyter nbconvert

如果出現(xiàn)以下提示,則說明環(huán)境已滿足

image

2、ipynb文件的執(zhí)行

--execute是執(zhí)行ipynb代碼的命令;Untitled.ipynb為所被執(zhí)行的文件;ExecutePreprocessor.kernel_name=python3指定選擇的python內(nèi)核

jupyter nbconvert --execute --to notebook --inplace Untitled.ipynb --ExecutePreprocessor.kernel_name=python3 

3、notebook文件轉(zhuǎn)化為html

html文件可以在沒有notebook環(huán)境的狀態(tài)下通過瀏覽器打開查看,因此在報告輸出時方便用戶查看,轉(zhuǎn)化為html格式的效果兼容性較好。

-- to html是轉(zhuǎn)化為html格式的命令

jupyter nbconvert --to html Untitled.ipynb # 轉(zhuǎn)化為 html

注:ipynb支持轉(zhuǎn)化的文件格式較多(包含如下,轉(zhuǎn)化方式詳見官方文檔)

注意:目前還不支持轉(zhuǎn)化為圖片,題主的處理方法是通過Selenium+PhantomJS 讀取html文件,保存成圖片的形式實現(xiàn)

4、jupyter notebook的代碼隱藏和顯示

輸出的報告,一般為了美觀需要隱藏掉python代碼,而只展示輸出的結(jié)果,因此需要隱藏代碼,只需保留對應(yīng)的結(jié)果。

在notbook文件末尾添加如下python代碼可隱藏整個notebook的python腳本:

from IPython.display import HTML
quote ="""<script> $('div.input').hide()</script>
<style>div.prompt{display:none} </style>
        """ 
HTML(quote)

注 : ('div.input').hide()hide()是隱藏全部代碼;改為show()可顯示全部代碼

? display:nonenone是不顯示代碼塊號;改為show可顯示全部代碼塊號

? 如果要顯示上面這個代碼命令,選中改代碼塊,轉(zhuǎn)化為Markown后可顯示出來

5、報告自動推送

方法1:可以采用釘釘機器人自動化推送

方法2:可以采用郵件的形式直接推送相關(guān)文件

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容