
“学 Python 都用来干嘛的?”看了一些小伙伴们的回答,已经列举了很多应用。那么这里再为大家补充一款同样免费、好用,而且更加灵活的 Python 应用工具,那就是:SeaTable 表格,它同时结合了协同表格的易用性和数据库强大的数据处理能力,支持“文件”、“图片”、“单/多选”、“协作人”、“公式”等丰富的数据类型,能帮我们用表格的形式来方便地组织和管理各类信息,和专门的软件系统一样强大。它还可以按照需要进行扩展,实现数据处理的自动化和业务流程的自动化。它自带数据收集表、 Python 脚本、JavaScript、API 、可视化插件、数据处理、BI高级统计分析、自动化规则等功能。其中在 Python 方面,就提供了完善的 Python API,我们用它可以快速地开发出自定义数据处理流程,可以基于表格快速实现各种 IT 小应用、工作流程,甚至业务系统等。
再具体点来说,在 SeaTable 表格中,我们可以上传 Python 脚本到到平台,可以把脚本和数据放在一个地方进行管理,不需要再单独找一个服务器。同时,可以在表格中根据不同的需要存储多个 Python 脚本文件, 一键点击运行或通过设置自动运行就可以达到我们想要的效果。而且,相比于传统的 Excel 表格, SeaTable 表格支持单表千万级数据,同时提供 SQL 查询接口等。为 Python 应用提供了完善的功能支撑。
另外,它支持免费私有化部署,可以用 Docker 方式,简单易维护。
下面,我们就来看 Python 结合 SeaTable 表格的一些应用。实操举例:
用 Python 从维基百科中抓取往届举办冬奥会的城市数据, 然后自动填入到 SeaTable 表格中,并用 SeaTable 表格的可视化插件自动生成城市地图、城市图库。
比如我们团队平时管理的站点就有20多个,全部使用的是免费的 Lets' encrypt 证书,并通过脚本在证书过期前自动更新证书。偶尔会出现脚本没有配置对或其他的原因导致证书没有正常更新,尤其是对新部署的站点。这就需要制作一个应用来解决这类的问题。使用案例如下:
比如用 SeaTable 表格做了一个股票池,将股票名称、代码、相关文件资料等信息都记录到了一起,并且增加了一个“股价更新”脚本,通过代码调用网上的股价数据,一键点击就可以自动更新股价,甚至还可以设置每天自动更新等。这样,查询和管理自己的股票信息就变得更简单方便了,而不用每次必须登录证券交易软件来查询。
使用案例如下:
比如在本案例中,本活动的打卡规则是:参与者须连续9天,每天打卡一次,并且打卡时间是在16点至22点前。如符合规则,那么活动结束后,我们会如数返还之前缴纳的费用。因此,我们会按打卡规则编写脚本代码。利用编写好的脚本筛选掉不符合打卡时间的打卡者。
下方这个视图中的“标记”列,就是用来自动标记通过脚本筛选出的不符合打卡时间的打卡者。
完成上一步后,我们在下方的视图表上,点击右上角的“脚本”,将编写好的脚本代码粘贴或者导入进去。然后就可以点击运行脚本了。
脚本会对「标记筛选视图」 里的汇总数据自动进行如下处理:
运行脚本后,如下图:
脚本地址:
https://github.com/seatable/seatable-scripts-cn/blob/master/examples/python/verify_records.py
后面一步更简单,用统计功能统计出连续打卡9天及以上者即可。本案例如下:
比如,从考勤机中导出来的打卡记录,存在每人每天的具体上下班打卡时间都在一列里,也存在着每人每天有多次打卡时间的记录。那么我们用脚本就可以从表中获取每人每天的最早打卡时间作为上班打卡时间,获取最晚打卡时间作为下班时间。并且把每人每天的最早打卡时间、最晚打卡时间统计到一行,这样就十分清楚了。案例如下:
案例如下:
“按钮”是 SeaTable 表格的一种交互式字段类型,在用了“按钮”列类型的单元格中,通过点击按钮或自动化触发,就可以执行指定的动作,自动完成一些数据处理和工作流程。这些动作包括但不限于:运行脚本、发送邮件、发送企业微信消息、将行复制到另一个表、修改行等。
限于篇幅,本回答就介绍这么多,SeaTable 表格功能丰富,使用灵活,我们可以配合使用,快速打造出自己的应用。
