我用 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

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

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

相关推荐
小柯南敲键盘2 分钟前
AI批量翻译Temu商品标题的Python实践
开发语言·人工智能·python
逆境不可逃5 分钟前
Java JUC 同步工具类一次讲透:CountDownLatch、CyclicBarrier、Semaphore、Phaser 与 AQS 共享模式
java·开发语言·python
遥感知识服务11 分钟前
SMAP看每天有多少水,Landsat告诉水最可能出现在哪里:拆解Idai洪水数据驱动预报
python
酉鬼女又兒24 分钟前
[特殊字符]零基础入门AI:归纳演绎、假设空间、归纳偏好、NFL、过拟合与欠拟合、模型评估选择、超参数、性能度量、混淆矩阵、P-R曲线和F1
人工智能·windows·python·深度学习·安全·机器学习·矩阵
艾斯特_1 小时前
Function Calling与工具调用:让模型从回答走向执行
人工智能·python·算法·ai
草莓熊Lotso1 小时前
【LangChain】核心组件详解:文档加载器(Document Loaders)
开发语言·c++·python·langchain·软件工程
开开心心就好1 小时前
Word双击预览图片插件弥补Word功能缺失
人工智能·python·智能手机·ocr·电脑·word·音视频
qq_263_tohua1 小时前
第113期 20260725 最近在阅读叶沅鑫老师的多模态配准书籍,发现有不少错误,让人读了头脑发大。
python