用 Python + Windows 计划任务,把每天 40 分钟的 Excel 汇总交给电脑
每天临近下班,我都要把散在一堆文件夹里的 Excel 报表手工打开、复制、粘贴、核对,最后拼成一张汇总表。动作不难,但重复、耗时,还容易在第九张表上点错行。后来我用 Python 加 Windows 计划任务把这件事整个交了出去,这里记录一下思路。
一、先想清楚要自动化什么
动手之前先把三件事定死:输入是什么(同一个目录下、表头结构一致的 xlsx 文件)、输出是什么(一张带日期后缀的汇总表)、什么时候跑(例如每天 18:00)。规则越明确,脚本越短。
二、用 pandas 做汇总
核心逻辑只有三步:遍历目录读出所有表、纵向合并、写出结果。用 pathlib 找文件,用 pandas.read_excel 逐个读取,再用 pandas.concat 合并成一张大表,最后 to_excel 落到输出目录。二十来行代码就能覆盖,不需要任何框架。
三、让脚本自己跑起来
Windows 上最省事的是任务计划程序:新建任务,触发器设为每天固定时间,操作里填 pythonw.exe 的路径和脚本参数,起始位置设成脚本所在目录。pythonw 不弹黑框,适合无人值守。也可以用 schtasks 命令把注册过程写成一行,方便迁移到别的机器。
四、把失败当常态
自动化最怕的不是写不出来,而是某天悄悄失败没人知道。我加了三处保护:文件被 Excel 占用时先重试、再跳过并记录;读表前校验列名,不符合预期就整批中止;每次运行把开始时间、处理文件数、异常堆栈写进日志。日志不用漂亮,能回答「昨晚到底跑没跑」就够了。
五、效果和边界
上线之后,这项每天约 40 分钟的工作变成了几秒钟,而且不会因为赶时间而漏行。但也要承认边界:如果汇总规则天天变、或者需要人来判断取舍,硬编码的脚本反而会变成负担。先自动化那些「步骤固定、只是量大」的部分,收益最直接。
- 点赞
- 收藏
- 关注作者
评论(0)