打开后台看下载量的时候,我盯着那个破万的数字愣了好几秒,第一反应是数据出bug了,刷新了三遍才确认是真的,那种感觉比中彩票还实在,毕竟这玩意儿从写到发布只花了我一个周末。
事情得从我们部门那个重复到让人抓狂的报表说起,每周五下午都要手工整理几十个Excel表格,把不同格式的数据塞进同一个模板,每次都得折腾到晚上七八点,我实在干不下去了,就琢磨着能不能用Python写个小脚本把这些活儿自动化,一开始真没想做出什么大东西,就图自己省事儿。
工具的功能特别简单,就是把散落的Excel文件拖进去,点一下按钮,自动合并去重然后生成规范的报表,核心代码不到两百行,用的都是pandas和openpyxl这种大众库,界面就用tkinter简单画了个框,丑是丑了点,但够用。
写完以后自己用了两个星期,确实没再被报表折腾,有天中午同事看见我在工位上点鼠标,凑过来问这是什么,我说了个大概,他当场就让我拷给他用,第二天他跑来说这玩意儿救了他的命,让我发到公司内部群里让大家也试试,我就顺手发了个网盘链接。
接下来的事情完全出乎意料,隔三差五有陌生同事加我微信,问能不能加个功能,比如自适应合并单元格,或者导出的时候自动分sheet,我都记在备忘录里,趁着午休或者晚上回家改几句代码,每次改完就发新版本到同一个链接,也没做版本管理,谁下载算谁的。
真正破万是在发布后的第三个月,有个做财务的小姑娘把工具推荐到了她的行业交流群,然后下载量一天涨了三千多,后台那几天跑得特别卡,我赶紧把下载方式从网盘换成了GitHub release,顺便加了个简单的统计脚本,这才看清楚原来用户不只是我们公司的,还有做销售的,做人事的,写论文的学生,甚至有个开网店的大哥说用它汇总订单很顺手。
我没有写任何使用教程,就放了三张截图和一段说明文字,功能就这么点,真正用起来的人自己就会摸索,有几次看见有人在评论区问能不能加个批量改名功能,我想了想,回复说不会做,因为那得换第三方库,维护成本太高。做工具这事儿,最忌讳的是什么都往里塞。本来就是个解决单一问题的螺丝刀,非要改造成瑞士军刀,最后谁用着都别扭。
代码本身写得并不好,没有单元测试,异常处理也粗暴,就是try except然后弹个框提示“错了,自己检查去”,但神奇的是,用户不在乎这个,他们在乎的从来不是代码多优雅,而是报表能不能准时交上去,下班时间能不能早一点。
这个项目给我最大的价值不是那点虚名,是我终于想明白了一个道理,工具的价值不在技术含量,在于解决了多少人的真实麻烦,Python也好,其他语言也好,能让人从重复劳动里解放出来的东西,就是好工具。现在那个仓库还偶尔有人提issue,我周末看心情修一修,时间充裕了想着重写一版,加个图形化配置规则的功能,但大概率不会做大改版,它就这样挺好。
要是你手头也有那种每天烦你的重复活儿,别硬扛,花半天学个基础然后动手写个简陋的东西,先自己用,再丢给身边的人用,你会发现他们比你想象中更需要这个,下载量那些数字会自然发生,不用刻意追。