群发资讯网

同事还在手改Excel,我靠Python 20分钟干完三天活,这招真不想外传

同事还在手改Excel,我靠Python 20分钟干完三天活,这招真不想外传
上个月底,领导要一份汇总表。六个部门,十二个文件,每个文件里还有三个工作表。同事小王从早上九点开始复制粘贴。中午我吃完饭回来,他还在对列名。下午三点,他盯着屏幕,鼠标点错了一行,整列数据全偏了。他叹口气,重新来。
我这边也领了同样的活。我没急着开Excel。我先看文件结构,再看每个表的列名。有人写金额,有人写销售金额,有人写回款金额。有人把合并单元格当表头。有人把空行留在中间。这些地方手改最耗时间。
我把重复动作交给Python,人只做判断。 读文件,统一列名,去掉空行,合并表,按部门汇总,导出结果。脚本写一次,以后每月跑一次。第一次写脚本花了二十分钟。跑完那一刻,小王还在找第三列和第四列为什么对不上。
我不是程序员。我平时做运营,Excel用得最多。Python也是下班后一点点学的。我用的东西不复杂。pandas读表,openpyxl处理格式,两个库够用。脚本里没有复杂写法。就是循环,判断,合并,输出。能跑就行。
具体做法也不神秘。先把所有文件放进一个文件夹。文件名里带部门。脚本读文件名,把部门写进新列。再读每个工作表。列名不统一,就做一个对照表。销售金额对应金额,回款金额对应金额,实收金额对应金额。对不上就留空,后面人工看一眼。空值填零,空行删掉。表头只留一行。按部门分组求和。导出到一个新表。
手改Excel最怕的不是慢,是改到后面忘了前面。 复制粘贴多了,错一行很难发现。脚本每次按同一套规则跑。规则写清楚,结果就稳定。人只需要检查异常值。比如某个部门金额为零,某个文件读不出来,某个列名没匹配上。这些脚本会留记录。
小王问我怎么弄的。我说先别声张,等我把模板整理好。他以为我用了别的工具。我打开编辑器给他看,几十行代码,他也看不懂。我告诉他,你不用学全部。你只要学会读表,合并,分组,导出。这四件事能解决大部分月度报表。
我一开始也手改。每个月五号到七号,基本都在对表。眼睛累,脖子酸,回家只想躺着。后来我算了一笔账。手改一次三天,一年十二次,就是三十六天。写脚本第一次二十分钟,后面每次几分钟。省下来的时间不是小数。更关键的是,人不会那么烦。
别把公司数据传到不明网站,别拿真实文件乱试。 脚本在自己电脑上跑,文件放本地文件夹。先拿备份文件试。跑完先核对总数,再核对部门数,再抽查几行。确认没问题再交。这个顺序不能省。省了容易返工。
同事还在手改Excel,我已经把结果发到领导邮箱。他问我是不是加班了。我说没有,跑了个脚本。他没多问。我也没到处讲。这招真不想外传。不是藏私,是解释起来太费劲。很多人听到Python就头大,觉得要学很久。其实先解决眼前这张表,学几个动作就够了。
如果你也被月度报表困住,先别急着报课。把你每周重复三次以上的动作写下来。复制哪些列,删哪些行,按什么汇总,输出什么格式。写清楚以后,再去找对应的Python写法。一次只解决一个动作。动作串起来,就是一套能跑的流程。 工具不替你思考,工具只替你重复。