Python 可以用来做什么?既然是 Python,那用它能做到的事情就非常多,包括爬虫、自动化脚本、机器学习,等等。但其实对于很多非专业人员来说,仅靠 Python 本身是很难实现一些有趣或有用的目标和结果。比如用 Python 抓取数据后制作成地图、图库等应用,甚至进行共享协作,这如果再用 Python 去做个网页来可视化、共享,就会比较复杂,还不好维护。而如果结合 SeaTable 表格来用,就会非常方便,能帮你轻松实现很多想法和应用。并且同样免费使用,可使用云版,也可以私有化部署。
SeaTable 是一款以在线协同表格为基础的新型数字化平台。它结合了协同表格的易用性和数据库强大的数据处理能力。支持“文件”“图片”“单选”“协作人”“公式”等丰富的数据类型,能帮助我们用表格的形式来组织和管理各类信息。在表格基础上,它还支持自定义工作流、应用搭建、数据分析等丰富的扩展功能,可以快速搭建出灵活的业务系统和软件应用。
丰富的数据类型
丰富的插件、外部应用
进一步来说,SeaTable 表格提供了:Python API、多条件数据去重、多种自动数据处理、自动化规则、提醒规则、按钮、多种可视化插件、SQL 查询插件、页面设计插件、高级统计、多种外部应用等丰富的功能,实用易用。能满足数据采集、收集、处理、统计分析、可视化、共享、应用制作等全流程一体化使用。
就拿脚本来说,它提供了 Javascript 和 Python 脚本的运行环境,我们可以把脚本和数据放在一个表格进行管理,不需要再单独找一个服务器。而且还可以在表格中根据不同的需要存储多个脚本文件, 一键点击运行就可以达到想要的效果,轻松实现数据处理的自动化。
脚本
举例来说,平时我们用 Python 脚本来写一些小应用的时候,如何保存、展现和共享数据是一个很麻烦的地方,而如果用 SeaTable 这个协同表格,我们就能有效地简化小应用的开发。借助它自带的 Python 脚本运行环境,我们可以把脚本和数据放在一个地方进行管理,而不用再单独找一个服务器,省去了很多成本。可以总结为:
●在 SeaTable 表格中,可以存储多个脚本文件, 一键点击就可以执行运行。
●在 SeaTable 表格中,可通过“自动化规则”功能对表格中子表的视图(如默认视图、设置了过滤等条件的其他视图)设置定期运行,如每天、每周、每月,并可以相应地选择到具体几点。
●在 SeaTable 表格中,可以增加“按钮”类型列,来调用和一键运行脚本,让表格更像一个应用。
增加自动化规则运行脚本
增加自动化规则运行脚本
用“按钮”列调用和运行脚本
案例:本案例基于一家投资公司的真实需求。投资公司通过启信宝的对外 API 接口获取各公司融资信息到 SeaTable 表格,并完成跨表链接、计算,和自动数据可视化分析。
1.数据同步
首先在表格里写入基本的公司信息,把企业名称、统一信用代码作为基础数据。如下图中的「公司」子表:
添加表格并填写基本信息
接下来,在表格中再创建一个子表「融资信息」用于后续填入获取的融资等信息。然后为这个子表插入列,如融资轮次、统一信用代码、融资日期、融资额等。如下图:
创建子表并插入列
然后,用「公司」子表中的统一信用代码向启信宝的 API 请求数据。此时,需要自己在启信宝上申请 API 的 APP_KEY 和 SECRET_KEY, 同时需要添加本地的 IP 地址到启信宝的 IP 白名单中。做好这些准备工作后,就可以用 Python 结合 SeaTable 的相关 API 对融资数据进行写入。以下是数据同步的算法逻辑:
●对「公司」子表中的每一个公司,使用启信宝 API,获取公司的融资数据,包括融资金额、融资轮次、融资日期等。
●对比「融资信息」子表:
如果某次融资记录不存在,那么进行添加;
如果已存在,但是表格中的信息不一致,那么认为表中信息是经过用户手工更新过的,不进行修改;
如果已存在,而且信息一致,也不进行处理。
具体的流程代码请参照此处完整的案例脚本, 数据写入之后的表格如下(融资额只作演示用):
获取融资等信息
2.数据处理(自动链接两个子表的关联记录)
前面完成数据获取和同步后,此时可以用 SeaTable 的“数据处理”功能中的“自动添加链接”,根据「公司」和「融资信息」两个子表的“统一信用代码”列匹配的规则,来为这两个子表一键快速添加链接记录,达到关联目的。操作如下:
在表格工具栏点击“···”按钮,选择“数据处理”(里面有多种数据处理操作)中的“自动添加链接”,如下图:
自动添加链接
然后根据匹配规则,选择两个子表中的“统一信用代码”列相等,再点击运行即可。如下图:
一键运行“自动添加链接”
点击运行后, 两个子表会同时自动生成链接列并关联上对应的记录。即「公司」表会自动关联上「融资信息」表中每个统一信用代码的所有融资记录。如下图中的“融资信息”列(点击单元格中的记录,可进入查看和编辑行详情)。如下图:
自动链接关联记录
同时,「融资信息」表也会自动链接上「公司」表中的关联记录,即每行融资记录都关联上了属于哪个公司(点击“公司”列单元格中的记录,可进入查看和编辑详情)。如下图:
自动链接关联记录
3.快速统计分析数据并生成各类可视化图表
在 SeaTable 表格中,如上图所示,可以通过增加表格视图来过滤出不同角度的数据,方便快速切换查看。另外,这也方便对不同角度的数据(视图)进行数据分析和可视化。比如用表格的“统计”功能可快速创建出统计表格和基础的图表;用“高级统计”插件(从表格右侧“插件”里一键添加)可以快速创建出类型更丰富的统计分析图表,对融资表完成更多维度和形式的数据可视化。图表可导出。如下图:
高级统计大屏仪表盘
案例:用 Python 从维基百科中抓取城市数据, 然后自动填入到 SeaTable 表格中,并用 SeaTable 表格的可视化插件自动生成地图、图库等。(代码详见下方案例链接)
1.自动获取城市经纬度到表格“经纬度”字段
从网页中获取信息, 需要一些简单的 python 爬虫技术。该任务中采用 requests 和 beatifulsoup 的 Python 模块进行实现, 其中 requests 模块可以模拟线上请求,返回一段 html 的 DOM 树, beatifulsoup 通过解析 DOM 树来获取标签中的想要的信息。以维基百科中的一个城市经纬度为例, 该 DOM 树的结构如下:
2.自动获取城市图片到表格“城市图片”字段
该任务中除了需要知道经纬度的信息, 还需要把一张图片下载下来,传递到表格中, 同样的, 图片也和经纬度一样, 在 DOM 树中也可以找到其原始信息:
以下是通过运行脚本自动化写入数据的表格结果, 可以看出, 比起上网查询然后手动填写每一行数据, 脚本的自动化操作则可以节省大量时间,并且准确和高效。
3.用表格的地图、图库插件分别自动生成城市地图、图库
案例:通过 filebea、Redis 和 Python 脚本,我们就可以收集多个服务器的日志到 SeaTable 的一个表格中。通过表格的过滤条件、多视图功能,我们可以方便地对日志进行分析和查看。通过共享协作功能,就可以实现多人协同处理。
作为新型的协同表格和数字化平台,SeaTable 不仅功能丰富,而且简单易用。平时我们在用 Python 实现一些程序时,就可以灵活结合 SeaTable 表格的功能,从而省去编程、开发、维护等时间和人力成本,快速又方便地实现更多有趣的事儿、更完善的应用。
以上案例抛砖引玉,希望大家分享 Python + SeaTable 更多的用法,提升工作效率!让 Python 更美好!