我用 Python 自动化了这 10 个工作流程,每周省下 8 小时

本文所有脚本均可直接复用,GitHub 仓库已开源


前言

作为一名程序员,我深知重复性工作是时间杀手。

每天花 1 小时整理报表、下载数据、处理文件......一周就是 5 小时,一个月就是 20 小时。

这 20 小时,本可以用来学习新技术、做副业、或者单纯休息。

过去半年,我用 Python 自动化了工作中的 10 个重复场景,每周节省约 8 小时。今天把代码全部开源,你可以直接拿去用。


场景一:自动整理日报/周报

痛点: 每天要从多个系统导出数据,手动合并成 Excel 报表

自动化方案:

python 复制代码
import pandas as pd
from datetime import datetime

# 读取多个数据源
df1 = pd.read_csv('system_a_export.csv')
df2 = pd.read_excel('system_b_export.xlsx')

# 合并数据
merged = pd.merge(df1, df2, on='order_id', how='left')

# 添加统计
summary = merged.groupby('category')['amount'].sum().reset_index()

# 导出报表
today = datetime.now().strftime('%Y%m%d')
summary.to_excel(f'daily_report_{today}.xlsx', index=False)
print(f'日报已生成:daily_report_{today}.xlsx')

节省时间: 每天 15 分钟 → 每周 1.25 小时


场景二:批量处理图片/文件

痛点: 运营同事经常需要批量压缩图片、重命名文件

自动化方案:

python 复制代码
from PIL import Image
import os

def batch_compress_images(folder_path, quality=80):
    """批量压缩图片"""
    for filename in os.listdir(folder_path):
        if filename.endswith(('.jpg', '.png')):
            img = Image.open(os.path.join(folder_path, filename))
            img.save(
                os.path.join(folder_path, f'compressed_{filename}'),
                quality=quality,
                optimize=True
            )
    print(f'压缩完成:{folder_path}')

# 使用
batch_compress_images('./product_images')

节省时间: 每次 30 分钟 → 每周 1 小时


场景三:自动监控价格/库存

痛点: 电商运营需要定时检查竞品价格和库存

自动化方案:

python 复制代码
import requests
from bs4 import BeautifulSoup
import schedule
import time

def check_price(url):
    """监控商品价格"""
    response = requests.get(url)
    soup = BeautifulSoup(response.text, 'html.parser')
    price = soup.find('span', {'class': 'price'}).text
    return price

def monitor():
    products = [
        ('竞品 A', 'https://example.com/product1'),
        ('竞品 B', 'https://example.com/product2'),
    ]
    
    for name, url in products:
        price = check_price(url)
        print(f'{name}: {price}')

# 每小时检查一次
schedule.every().hour.do(monitor)

while True:
    schedule.run_pending()
    time.sleep(60)

节省时间: 每天 20 分钟 → 每周 1.5 小时


场景四:自动发送邮件/通知

痛点: 定期要给客户/团队发送进度邮件

自动化方案:

python 复制代码
import smtplib
from email.mime.text import MIMEText

def send_email(subject, body, to_list):
    """发送邮件"""
    msg = MIMEText(body)
    msg['Subject'] = subject
    msg['From'] = 'your_email@example.com'
    msg['To'] = ', '.join(to_list)
    
    with smtplib.SMTP('smtp.example.com', 587) as server:
        server.starttls()
        server.login('your_email', 'your_password')
        server.send_message(msg)

# 使用
send_email(
    subject='项目进度更新',
    body='本周完成:xxx\n下周计划:xxx',
    to_list=['team@example.com']
)

节省时间: 每次 15 分钟 → 每周 0.5 小时


场景五:数据清洗/格式转换

痛点: 客户给的数据格式混乱,需要手动整理

自动化方案:

python 复制代码
import pandas as pd

def clean_data(file_path):
    """数据清洗"""
    df = pd.read_csv(file_path)
    
    # 删除空行
    df = df.dropna()
    
    # 删除重复
    df = df.drop_duplicates()
    
    # 格式标准化
    df['phone'] = df['phone'].str.replace('-', '')
    df['date'] = pd.to_datetime(df['date'])
    
    # 导出
    df.to_csv('cleaned_data.csv', index=False)
    return df

# 使用
clean_data('messy_data.csv')

节省时间: 每次 30 分钟 → 每周 1 小时


场景六:自动截图/录屏

痛点: 需要定期截图记录页面状态

自动化方案:

python 复制代码
from selenium import webdriver
from datetime import datetime

def capture_screenshot(url, save_path):
    """自动截图"""
    driver = webdriver.Chrome()
    driver.get(url)
    timestamp = datetime.now().strftime('%Y%m%d_%H%M%S')
    driver.save_screenshot(f'{save_path}_{timestamp}.png')
    driver.quit()

# 使用
capture_screenshot('https://example.com/dashboard', './screenshots/daily')

节省时间: 每天 10 分钟 → 每周 0.75 小时


场景七:批量注册/填表

痛点: 需要在多个平台重复填写相同信息

自动化方案:

python 复制代码
from selenium import webdriver
from selenium.webdriver.common.by import By

def auto_fill_form(url, data):
    """自动填表"""
    driver = webdriver.Chrome()
    driver.get(url)
    
    driver.find_element(By.NAME, 'username').send_keys(data['username'])
    driver.find_element(By.NAME, 'email').send_keys(data['email'])
    driver.find_element(By.NAME, 'phone').send_keys(data['phone'])
    driver.find_element(By.XPATH, '//button[@type="submit"]').click()
    
    driver.quit()

# 使用
data = {
    'username': 'your_name',
    'email': 'your@email.com',
    'phone': '13800138000'
}
auto_fill_form('https://example.com/register', data)

节省时间: 每次 20 分钟 → 每周 0.5 小时


场景八:文件自动备份

痛点: 经常忘记备份重要文件

自动化方案:

python 复制代码
import shutil
from datetime import datetime

def backup_folder(source, dest):
    """自动备份文件夹"""
    timestamp = datetime.now().strftime('%Y%m%d_%H%M%S')
    backup_name = f'backup_{timestamp}'
    shutil.copytree(source, f'{dest}/{backup_name}')
    print(f'备份完成:{backup_name}')

# 使用
backup_folder('./important_files', './backups')

节省时间: 每周 15 分钟 → 每周 0.25 小时(主要是心理负担减轻)


场景九:自动抓取竞品信息

痛点: 需要手动收集竞品动态

自动化方案:

python 复制代码
import requests
import json

def fetch_competitor_info(urls):
    """抓取竞品信息"""
    results = []
    for url in urls:
        response = requests.get(url)
        # 解析页面内容
        # ... 添加具体解析逻辑
        results.append({
            'url': url,
            'title': '竞品标题',
            'price': '价格',
            'timestamp': datetime.now().isoformat()
        })
    
    # 保存到文件
    with open('competitor_data.json', 'w') as f:
        json.dump(results, f, ensure_ascii=False, indent=2)
    
    return results

# 使用
urls = [
    'https://competitor1.com/product',
    'https://competitor2.com/product'
]
fetch_competitor_info(urls)

节省时间: 每天 30 分钟 → 每周 2 小时


场景十:定时任务调度

痛点: 需要记得在特定时间执行任务

自动化方案:

python 复制代码
import schedule
import time

def job1():
    print('执行任务 1:发送日报')
    # 发送日报代码
    
def job2():
    print('执行任务 2:备份数据')
    # 备份代码

# 设置定时
schedule.every().day.at("09:00").do(job1)
schedule.every().friday.at("18:00").do(job2)

# 持续运行
while True:
    schedule.run_pending()
    time.sleep(60)

节省时间: 避免忘记任务导致的返工 → 每周 1 小时


总结

场景 原耗时/周 自动化后 节省时间
日报周报 1.25h 5 分钟 1h
图片处理 1h 5 分钟 0.75h
价格监控 1.5h 自动 1.5h
邮件通知 0.5h 自动 0.5h
数据清洗 1h 10 分钟 0.75h
自动截图 0.75h 自动 0.75h
批量填表 0.5h 自动 0.5h
文件备份 0.25h 自动 0.25h
竞品抓取 2h 自动 2h
任务调度 1h 自动 1h
合计 9.75h 约 1h 8.75h

觉得有用?欢迎点赞、收藏、转发!

有任何问题,欢迎在评论区留言,我会逐一回复。

相关推荐
2501_9475758019 小时前
计算机毕业设计之jsp开山车行二手车交易系统
java·开发语言·hadoop·python·信息可视化·django·课程设计
Byron__20 小时前
AI学习_06_短期记忆与长期记忆
人工智能·python·学习
取经蜗牛21 小时前
Python 第一阶段完全指南:从零到第一个实用工具
开发语言·python
创世宇图21 小时前
【Python工程化实战】OpenTelemetry 在 Python 中的全链路追踪落地:从埋点到可视化的完整实战指南
python·分布式链路追踪·性能监控·opentelemetry·微服务可观测性
许彰午1 天前
72_Python爬虫基础BeautifulSoup
爬虫·python·beautifulsoup
zhanghongyi_cpp1 天前
10. 实验书3.4.2 筛选达到预警阈值的病虫害数据
python
tuddy7894641 天前
Codex++ 安全边界探秘:从模型能力到风险防御
人工智能·python·安全
C++、Java和Python的菜鸟1 天前
第1章 集合高级
java·jvm·python
第六五1 天前
Python 内置装饰器
开发语言·python
梦帮科技1 天前
UE5 GAS 实战:用 Gameplay Ability System 搭建「赛博修真」境界与技能体系
c++·人工智能·python·ue5·c#