关于现有js和py能力边界的一些思考,以及我期望的"梦中情表"的编程工具是怎样的
本文仅个人有限能力思考内的观点,若有理解不当欢迎共同探讨指证。
1 jsa擅长操作却不擅长做数据分析
现有的云文档AirScript或本地的JSA,都是基于js这个语言开发的,并且侧重的是对"表格操作"的能力,比如能获得、设置单元格的格式、链接等,但却不擅长做"数据分析"。
比如我想筛选姓名为"code4101"的条目,并获得字典结构的数据,是非常麻烦的,基本要从底层的if、for逻辑一行行手撸。
jsa的AutoFilter功能是对表格本身的筛选操作,而不是数据逻辑的操作。
数据分析相关工作很多时候是要在程序内存中进行各种数值操作,而不是要操作表格。
对于筛选数据,哪怕我对这个筛选自己封装了一个工具函数,改天也又会有其他数据操作逻辑。
数据分析核心基础功能需求,其实就是数据库sql的"增删改查",但我们自己在js中封装这样一套类sql工具是不太现实的。
如果官方jsa能支持导入第三方库,能一定程度缓解这个问题,js有一些数据操作能力的工具库。
但js这块的功能生态本来就不如py,专业的事似乎还是得交给专业的工具做。
2 python擅长分析却没有操作原始表格的能力
谈到数据分析能力,python说那我可就不困了。
比如python的pandas就是一个非常强大的工具,本身就有大量的功能接口,操作流畅体验不输sql语言。
但python操作表格的能力又不如wps官方出的jsa。
只能通过xl等函数获取数据后进行处理,或者写回数据,没法设置单元格格式、插入超链接等操作。
python源生比较强的能操作工作表的是openpyxl库,但这个首先是读取线下表格文件,其次功能也比jsa其实弱很多。
3 总结
js擅长做"操作"但不擅长"分析",py擅长"分析"但不擅长"操作"。官方是否有考虑过在py做一套仿vba、jsa的操作功能?如果能把功能在py中大一统,我觉得这就是我的"梦中情表"。但我不知道js做表格是否有某些天然优势,py有某些天然劣势导致工作量过大所以近年不会考虑这个开发方向?
如果1做不到,那是否可以在现有基础上,对js和py都做些增强?
js支持导入第三方库,尤其是一些数据分析的库?以及支持导入自定义工具模块的功能,参考:https://bbs.wps.cn/topic/44494。
现有的py似乎没有js的"脚本令牌"(https://airsheet.wps.cn/docs/apitoken/api.html)功能?希望py也能扩展支持更多api的调用模式?
js和py是否能联动,互相调用彼此?
当"操作"和"分析"在工程上能更好的融合开发,而不是要完全分开在不同的工具模块里开发,我相信相关的AI工具也会有更大的潜力空间,或许有一天AI就能全自动地帮我们用【操作】采集清洗数据、设置格式,还能用【分析】帮我们自动统计生成报表。
PS:话说最近官方人员出没得少了,难道冲年底业绩去了 doge
@金山办公
创作者俱乐部成员
创作者俱乐部成员