Jupyter Notebook和Git无缝集成方案( 七 )
.metadata = https://mparticle.uc.cn/api/{/" , 用来过滤行单元格属性 。 在Jupyter的最新版本中 , 每个单元格设置属性(hidden / collapsed / write-protected等) 。 一般来说我们对这些元数据不感兴趣 , 但是你可以按照需要针对性保留 。
这样 , 我们就有了一个精简化的Notebook , 其中包含执行任何本地Python安装时执行所需的公共信息 。
注意上述单行脚本请需要jq 1.5或更高版本 , 因为--indent选项是最新添加的;而且必须符合nbformat 。
为了方便我把上面单行保存为别名 , 保存在.bashrc:
然后就可以使用
nbstrip_jq xx-parsing.ipynb> stripped.ipynb
就可以清理烦人的元数据 , 而且还非常快 , 大概不到nbstripout的十分之一 。
自动化git集成
上面我们用jq脚本的方式解决了问题 , 但是如何在git操作时自动运行 , 仍值得研究 。 为了实现自动化需要用gitattributes , 特别是过滤器部分 。 通过gitattributes滤器是在将数据检入或检出git存储库时做转换数据的操作 , 以便Notebook输出单元格在将JSON数据添加到git信息库之前 , 进行清理操作 。 gitattributes滤器原理见下图:
推荐阅读
- 工作室|Unity收购《指环王》特效工作室Weta Digital,称为布局元宇宙
- 杀手3|砸9.19亿英镑!腾讯收购英国游戏开发商Sumo Digital
- GitHub 发布 2019 年度透明度报告:披露删除内容理由
- 微软CEO或将访问印度,并宣布印度成立GitHub子公司
- Galaxy Digital执行官:“流动性”推动了比特币令人震惊的上涨
- 外媒:微软宣布在印度成立GitHub子公司
- DigiTimes:苹果供应链正加紧生产iPhone SE 2,但iPhone 12将落后于计划
- GitHub大火的中文仓库:没有代码,star过万
- 连登 GitHub TOP 榜,中国开发者在行动!
- Java排名前5位:GitHub上最常用的Java库