先聊聊我的开发初衷和理念

初衷就是偷懒,没有什么高尚的理由,平时需要更新数据以及处理一下杂事就有点忙了,想高效完成手里的工作,Excel部分短时间内已经不能再给我带来更大的提升了,在向朋友确定了可行性之后,我把手伸向了Python,配合我已有的Excel基础去实现自动化办公。

开发理念是准确高效,偏向AI智能的代码选择,尽量降低代码的复杂程度,Excel能直接处理的部分绝不放到代码里,取长补短,缩短开发周期。

过程中为结算做准备,而不是到结算了再开始抽时间敲代码。

产品概念的形成:数据源于施工记录,只需要施工日期、桩位编号、当天施工数量,所以脚本只需要提取这3项。

代码部分不多讲,只介绍一个亮点。

第一行是分组的索引 第二行是Nan值(Not a number) 第三行开始是我需要的数据 那我就需要把Nan值从我的数据里清除掉,我可以选择直讲删除sheet里的第二行,但是我用了更智能的代码,让他删掉桩号那列数据里含Nan值的所有行。

这种代码写出来的感觉非常棒,你会很明显的感觉到代码在思考,而不是单纯地执行你的命令。

Excel部分就是对数据进行二次处理,脚本对数据进行初次处理之后,按照我想要的排序方式写入到新的Excel,不直接写入已有的Excel涉及到2个原因,一个是技术不够待研究,另一个是写入之后考虑到需多次写入 还得增加清除数据的代码,增加了代码的复杂程度,有违初衷,写入新Excel会自动覆盖原来的文件,所以反而用最简单的写入方法是最好的。

写入的样式如视频所示,我只需要在后面加上Excel里的计数函数、合并函数,再用一些小把戏,就可以满足填写规范了。

验收资料的内容都源于施工记录,日期、桩号、桩数,在Excel进行数据二次处理的之后,所得的数据就已经是答案了,链接起来就好。

还值得一提的是验收资料里有个关于检测数量的部分,“当天施工数量的10%且不少于10根”,我请教了做过验收资料的前辈关于这里的填写规范,如果出现超过10并带有小数的数据应该怎么处理,虽然一般来说不会有这种情况出现,因为当天不会在同一个部位施工这么多桩,但要是万一?所以我在了解规范后用公式规避了这个万一的出现,在超过10并带有小数的情况下,去掉小数+1处理。

比如121*0.1=12.1

我公式处理后就是12+1=13

剩下的自动化完成就是单元格链接,以及提前处理好单元格,增加sheet容量满足一般情况下的正常使用。

最后还是贴上我最喜欢的这段代码
#学无止境
while true:
  learn()


A.T.FIELD,FULL POWER!