“没关系的,可能我这边写几行代码,您这就能省一两个小时工作量呢!王哥别怕麻烦,需求您尽管提!”小王边说边拍胸脯保证……
原来,王大哥想要找到当前文件夹下含有“水电费”的Excel文件,然后按照下面的需求进行修改:
将位于第3行、第1列含“水电费”的文本改为“水电费(附加)”将位于第10行、第4列含“水电费”的文本改为“水电费(物业收取)”将含“对方水电费”的文本改为“客服水电费”将21行文本如果含有“水电费”,则加粗显示。好奇葩的需求,但领导交给王哥的任务,还是得帮忙给完成了,说不定今天王哥下班早了,还有一顿美餐呢!
梳理任务需求
遇到类似的重复问题,小王想到的第一步是寻求单个问题的解决方案。即本案例中打开找到的任意一个含有“水电费”的Excel文件。如下:
然后,编写代码,通过if......elif......语句判断这四个任务任务需求。
由于搜索到的每一个表格的格式都不尽相同,但上述4个需求,在每一个表格中都通用。也就是说搜索到所有的Excel表格,只要满足上面4个条件其中之一,就可按需求进行修改。
比如,1954.xlsx中sheet2表格,它只有一个单元格满足4个条件,则直接按要求修改满足项即可。其它含有关键字“水电费”的Excel表格按此方法修改并保存即可。
可以改进吗
这样虽然可以实现,但小王仔细一想,这种方法的弊端是所有含有“水电费”的Excel文件都要遍历一遍,增大了系统开销。
经过仔细琢磨,小王决定先将符合四个条件的数据暂存到列表中。然后,遍历列表执行修改。这样可以大大降低系统开销,并且有效避免了数据写入文件时发生的各种异常风险。
编码实现过程订阅解锁TA的全部专属内容