当前位置:首页>python>告别加班!实测5个Python脚本,每天多出2小时

告别加班!实测5个Python脚本,每天多出2小时

  • 2026-09-02 19:05:54
告别加班!实测5个Python脚本,每天多出2小时

作者:API | 2026年4月11日

上周五晚上10点,我对着电脑屏幕发呆,面前是30份需要整理的Excel报表。

重复的复制粘贴、机械的数据汇总、永远填不完的表格……我突然意识到,自己像个高级流水线工人。

那一刻我决定,必须搞点事情。

于是花了两周时间,我实测了5个Python自动化脚本,现在每天准时下班,还能有时间健健身、追追剧。今天把这套「摸鱼神器」分享给你,保证你用了直呼过瘾。

1. Excel报表自动汇总脚本

痛点:每周要合并10个部门的Excel报表,手动复制粘贴要2小时,眼睛都看花了。

解决方案:一个30行的Python脚本,自动读取指定文件夹下所有Excel,按照模板汇总成一份报告。

import pandas as pd
import os
from datetime import datetime

def merge_reports(folder_path, output_file):
    """合并指定文件夹下所有Excel报表"""
    all_data = []
    
    for file in os.listdir(folder_path):
        if file.endswith('.xlsx'):
            df = pd.read_excel(os.path.join(folder_path, file))
            all_data.append(df)
    
    merged = pd.concat(all_data, ignore_index=True)
    merged.to_excel(output_file, index=False)
    print(f"已合并 {len(all_data)} 份报表,保存至 {output_file}")

# 使用示例
merge_reports('./周报', '本周汇总.xlsx')

✅ 实测效果:2小时 → 5分钟

我现在的周五下午茶时间就是这么来的

2. 邮件批量发送脚本

痛点:给客户发邮件要个性化称呼、附上不同附件,一个一个发太折磨人了。

解决方案:用Python读取联系人Excel,批量发送个性化邮件。

import smtplib
import pandas as pd
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

def batch_send_email(excel_path, subject, body_template):
    """批量发送个性化邮件"""
    contacts = pd.read_excel(excel_path)
    
    for _, row in contacts.iterrows():
        name = row['姓名']
        email = row['邮箱']
        body = body_template.format(姓名=name)
        
        msg = MIMEMultipart()
        msg['From'] = 'your_email@example.com'
        msg['To'] = email
        msg['Subject'] = subject
        msg.attach(MIMEText(body, 'html'))
        
        # 发送邮件...
        print(f"已发送给: {name} <{email}>")

batch_send_email('客户列表.xlsx', '您的月度报告', '您好 {姓名},附件是您的报告...')

✅ 实测效果:100封邮件从3小时压缩到10分钟

而且不会漏发、不会搞错附件

3. 文件自动整理脚本

痛点:下载文件夹永远乱糟糟的,每次找文件要翻半天。

解决方案:设定规则,Python自动把文件分类到不同文件夹。

import os
import shutil

def organize_downloads(download_folder):
    """自动整理下载文件夹"""
    rules = {
        '文档': ['.pdf', '.docx', '.txt', '.pptx'],
        '图片': ['.jpg', '.jpeg', '.png', '.gif'],
        '视频': ['.mp4', '.avi', '.mov'],
        '压缩包': ['.zip', '.rar', '.7z'],
        '代码': ['.py', '.js', '.html']
    }
    
    for folder, extensions in rules.items():
        folder_path = os.path.join(download_folder, folder)
        if not os.path.exists(folder_path):
            os.makedirs(folder_path)
    
    for filename in os.listdir(download_folder):
        file_path = os.path.join(download_folder, filename)
        if os.path.isdir(file_path):
            continue
        
        ext = os.path.splitext(filename)[1].lower()
        for folder_name, extensions in rules.items():
            if ext in extensions:
                dest = os.path.join(download_folder, folder_name, filename)
                shutil.move(file_path, dest)
                print(f"移动: {filename} → {folder_name}/")
                break

organize_downloads('C:/Users/Downloads')

✅ 实测效果:文件夹终于清爽了

每天找文件快多了

4. 数据报表自动生成脚本

痛点:每月要给领导做数据分析PPT,要从数据库拉数据、做图表、排版,至少半天。

解决方案:Python自动从数据库拉数,生成可视化图表,导出可直接用的PPT。

import pandas as pd
import matplotlib.pyplot as plt
from pptx import Presentation
import sqlite3

def generate_monthly_report():
    """自动生成月度数据报告"""
    # 1. 从数据库拉取数据
    conn = sqlite3.connect('sales.db')
    df = pd.read_sql('SELECT * FROM orders', conn)
    conn.close()
    
    # 2. 数据分析
    sales_by_region = df.groupby('region')['amount'].sum()
    sales_by_product = df.groupby('product')['amount'].sum()
    
    # 3. 生成图表
    fig, axes = plt.subplots(1, 2, figsize=(12, 5))
    sales_by_region.plot(kind='bar', ax=axes[0], color='steelblue')
    sales_by_product.plot(kind='pie', ax=axes[1], autopct='%1.1f%%')
    plt.tight_layout()
    plt.savefig('chart.png', dpi=150)
    
    # 4. 创建PPT
    prs = Presentation()
    slide = prs.slides.add_slide(prs.slide_layouts[6])
    slide.shapes.add_picture('chart.png', 100, 150)
    prs.save('月度报告.pptx')
    print("报告已生成: 月度报告.pptx")

generate_monthly_report()

✅ 实测效果:原来半天的工作量,现在20分钟搞定

还能一键更新最新数据

5. 会议纪要自动整理脚本

痛点:开了很多会,录音整理成文字后,手动分段、提炼要点太费时间。

解决方案:Python自动识别说话人、分段、提取关键词和待办事项。

import re

def parse_meeting_notes(raw_text):
    """自动整理会议纪要"""
    lines = raw_text.strip().split('\n')
    meetings = []
    current = []
    
    for line in lines:
        # 检测新会议开始
        if re.match(r'\d{4}-\d{2}-\d{2}', line):
            if current:
                meetings.append('\n'.join(current))
            current = [line]
        else:
            current.append(line)
    
    # 提取待办事项
    todos = []
    keywords = []
    todo_pattern = r'[((]?(待办|TODO|ACTION)[::]?\s*(.+)'
    keyword_pattern = r'#(\w+)'
    
    for meeting in '\n'.join(meetings + [current]):
        for line in meeting.split('\n'):
            if re.search(todo_pattern, line):
                todos.append(re.search(todo_pattern, line).group(2))
            keywords.extend(re.findall(keyword_pattern, line))
    
    return {'会议数量': len(meetings), '待办': todos, '关键词': list(set(keywords))}

result = parse_meeting_notes(raw)
print(f"待办事项: {result['待办']}")

✅ 实测效果:整理一周会议记录从1小时缩短到5分钟

待办事项一目了然

我的真实感受

用了这5个脚本,最大的改变不是省了多少时间,而是:

1. 心态变了 —— 以前总觉得「这种事就该人做」,现在会想「这事能不能自动化」

2. 开始「懒」得有道理 —— 把省下来的时间用来学习新技能、陪家人

3. 职场竞争力提升了 —— 同事还在手动复制粘贴的时候,你已经在用代码提效了

程序员圈子里有句话:「如果你要重复做一件事超过3次,就应该写个脚本。」

这句话真的帮我省了太多时间。

怎么开始?

建议从最痛的那个点开始。比如你每周要汇总报表,就先跑通第一个脚本,跑通一个再下一个。

遇到问题别慌,搜索引擎是你的好朋友,大部分报错Stack Overflow上都有答案。

摸鱼一时爽,一直摸鱼一直爽。

但更爽的是,你掌握了「摸鱼」的能力,却选择把时间用在更有价值的事情上。

祝你准点下班!

📌 往期精选

• 实测Claude 3.7:程序员的第一款「会写代码」的AI助手

• 告别Ctrl+C/V!Python自动化办公从入门到精通

• 程序员必看:2024最值得学的5个编程语言

🔗 关注「沉默的API」,带你用代码搞定一切

最新文章

随机文章