上个月底,我负责的那套数据报表系统又崩了。每天早上一到工位,老板就甩一句“昨天数据不对,你查查”。我打开数据库,手动跑一遍SQL,再把结果粘贴到Excel里,调格式,发邮件——这套操作我重复了整整43天。
直到有一天,我盯着屏幕上那个“保存并发送”的弹窗,突然意识到:我他妈就是个高级版Ctrl+C/V机器。这活换成Python来干,顶多20行代码。
说干就干。第一个脚本解决的是最烦人的日报自动生成。原来流程是:从MySQL拉24小时订单数据,算同比环比,填进一个固定模板的Excel,最后用Outlook发出去。我用pandas读数据库,openpyxl操作模板文件,win32com控制Outlook发送。核心代码就三块:数据查询、表格填充、邮件发送。第一次跑通的时候,我盯着控制台那个“发送成功”的打印,愣了三秒——这活儿我每天花40分钟,现在3秒搞定。
踩坑的地方来了。Excel模板里有个下拉框联动,openpyxl写入时会破坏数据验证规则。查了2小时文档,最后解决方案是先把数据写进一个临时Sheet,再用VBA宏把数据复制到模板Sheet里。代码里嵌了这么一行:
“`python
xl_app = win32com.client.Dispatch(“Excel.Application”)
xl_app.Workbooks.Open(template_path)
xl_app.Run(“UpdateDataMacro”)
“`
别问我为什么不用纯Python方案,问就是老板给的模板是十年前做的,谁改谁背锅。
第二个脚本是监控服务器磁盘空间。之前有个生产环境的日志文件疯长,某天凌晨2点把磁盘撑爆了,导致第二天早上所有接口超时。我写了个定时任务,每小时检查一次磁盘使用率,超过80%就自动清理7天前的日志,同时给运维群发告警。用psutil获取磁盘信息,logging模块记录操作日志,schedule库做定时调度。部署的时候有个坑——Windows计划任务里执行Python脚本,路径问题搞了我半小时。最后发现必须用绝对路径,并且把工作目录设置成脚本所在文件夹。
第三个脚本最实用,是批量处理图片的。市场部每周要上传产品图到公司CMS系统,要求统一压缩到200KB以下,尺寸1200×1200。原来设计师一张张调,一周花掉大半天。我用PIL库写了个批处理,遍历文件夹所有jpg/png,按比例压缩,保留EXIF信息,输出到指定目录。代码里这个压缩函数是关键:
“`python
def compress_image(img_path, target_size=200*1024):
img = Image.open(img_path)
quality = 85
while True:
img.save(temp_path, optimize=True, quality=quality)
if os.path.getsize(temp_path) <= target_size or quality <= 10:
break
quality -= 5
“`
注意那个while循环——不是所有图片都能一次压到目标大小,必须动态调整质量参数。另外我加了进度条,用tqdm库,跑的时候看着进度跳,心里爽。
这三个脚本跑了一个月,效果直接体现在我的工时记录上:日报生成从每天40分钟变成0,磁盘报警从每月3次变成0,图片处理从每周4小时变成10分钟。老板有天路过我工位,看我盯着屏幕发呆,问“最近活儿少了?”我说“自动化了。”他点点头,没再说话。
但我得说几个血泪教训。第一,自动化脚本一定要加日志。有次日报没发出去,我查了半天才发现是公司VPN断了,邮件发送失败。后来加了try/except和详细日志,每次运行写时间戳、状态、异常信息。第二,定时任务要考虑异常重试。磁盘清理脚本第一次执行时,有个日志文件正在被进程占用,删不掉就直接报错退出了。现在代码里加了重试机制,遇到占用就等30秒再试,最多试3次。第三,千万别把脚本跑在本地电脑上。我一开始用自己笔记本跑日报脚本,结果有天电脑休眠了,老板第二天没收到邮件,电话直接打到我手机上。后来全迁到公司一台Linux服务器上,用crontab管理。
现在回头看,这几个脚本技术上真没什么高深的。pandas、openpyxl、psutil、PIL,都是Python基础库。真正值钱的是对业务流程的理解——你知道哪个环节最浪费时间,哪个步骤最容易出错,然后才谈得上用代码替代。
最后说个有意思的事。上个月人事找我谈话,说看到我工时记录里“报表处理”这项从40分钟变成了0,怀疑我是不是工作量不饱和。我把三个脚本的GitHub仓库地址发给她,说“你看看代码量”。她看不懂,但后来年终总结的时候,让我写了个自动化案例分享发全公司。
所以你看,写脚本这事儿,表面上是省时间,实际上是给自己争取做更有价值事情的机会。比如我现在,每天省下来的时间就用来研究怎么把老板那个老掉牙的Excel模板彻底干掉——用Web界面重新做一个。
📎 延伸阅读
看完这篇,如果你想:
- 直接拿工具 → 回复”13“,我把跨境获客工具包发给你
- 系统学习 → 点击菜单”AI训练营”,从0开始跑通AI变现