ipynb文件报告自动化执行推送

ipynb文件报告自动化执行推送

Jupyter notebook 文件对于数据科学代码执行和富文本报告的输出比较友好(兼容markdown文档,且代码块的结构形式);但是ipynb文件并非标准的脚本文件,对于挂载定时自动化任务不太方便;还好有nbconvert包的支持,可操做ipynb文件的执行和转化 ,因此本文纪录如何挂载ipynb定时报告的执行和转化html及报告的推送。

参考:nbconvert官方文档

1、环境要求:

Python3 版本

jupyter notebook

nbconvert 包

测试相关环境时候是否准备好?

后台输入以下命令:

jupyter nbconvert

如果出现以下提示,则说明环境已满足

image-20210118101514851

2、ipynb文件的执行

--execute是执行ipynb代码的命令;Untitled.ipynb为所被执行的文件;ExecutePreprocessor.kernel_name=python3指定选择的python内核

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

3、notebook文件转化为html

html文件可以在没有notebook环境的状态下通过浏览器打开查看,因此在报告输出时方便用户查看,转化为html格式的效果兼容性较好。

-- to html是转化为html格式的命令

jupyter nbconvert --to html Untitled.ipynb # 转化为 html

注:ipynb支持转化的文件格式较多(包含如下,转化方式详见官方文档)

注意:目前还不支持转化为图片,题主的处理方法是通过Selenium+PhantomJS 读取html文件,保存成图片的形式实现

4、jupyter notebook的代码隐藏和显示

输出的报告,一般为了美观需要隐藏掉python代码,而只展示输出的结果,因此需要隐藏代码,只需保留对应的结果。

在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可显示全部代码块号

​ 如果要显示上面这个代码命令,选中改代码块,转化为Markown后可显示出来

5、报告自动推送

方法1:可以采用钉钉机器人自动化推送

方法2:可以采用邮件的形式直接推送相关文件

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值