Python 自动化脚本入门:5 个开箱即用的小工具,办公效率翻倍

用 Python 解决日常重复工作:合并 Excel、批量改名、抓网页数据、监控文件夹、自动发邮件。每个脚本都能直接复制使用,附完整代码和依赖清单。

# Python 自动化脚本入门:5 个开箱即用的小工具,办公效率翻倍

每天重复的活儿:合并 Excel、抓网页数据、改文件名、监控文件夹、发邮件通知……同事花一下午做的活,我用 Python 几行就搞定。这篇不写复杂的概念,只给你 5 个我每天在用的脚本,每个都能直接复制到工作里用,下载附件照着跑就行。

一、合并 100 个 Excel 文件到一个工作簿

适用:月底合并销售数据 / 周报汇总 / 部门数据合集

import pandas as pd

from pathlib import Path


def merge_excel(files_dir, output_file):

files = Path(files_dir).glob('*.xlsx')

dfs = [pd.read_excel(f) for f in files]

merged = pd.concat(dfs, ignore_index=True)

merged.to_excel(output_file, index=False)

return len(dfs)


count = merge_excel('./data', './合并结果.xlsx')

print(f'已合并 {count} 个文件')

关键点:`ignore_index=True` 必加,否则合并后行号重复,vlookup 查不到。

二、批量重命名 1000 张图片

适用:摄影作品整理 / 电商图片规范 / 内容素材归档

import os

from pathlib import Path


def batch_rename(folder, prefix='img'):

files = list(Path(folder).glob('*'))

for i, f in enumerate(files, 1):

new_name = f.parent / f'{prefix}_{i:03d}{f.suffix}'

f.rename(new_name)


batch_rename('./photos', prefix='photo_2026')

注意:先在小批文件试,确认命名规则对再大批跑(rename 没有 undo)。

三、抓网页表格到 Excel

适用:工商信息查询 / 招聘数据 / 公开榜单

import pandas as pd


def scrape_tables(url):

tables = pd.read_html(url)

return tables[0]  # 通常第一个表就是主表


df = scrape_tables('https://example.com/list')

df.to_excel('抓取结果.xlsx', index=False)

进阶:要登录的网站用 `requests + BeautifulSoup`;要 JS 渲染的用 Selenium 或 Playwright(附件里给了 Playwright 模板)。

四、监控文件夹变化自动处理

适用:实时文件入库 / 监控日志 / 接收上传文件

from watchdog.observers import Observer

from watchdog.events import FileSystemEventHandler

import time


class AutoHandler(FileSystemEventHandler):

def on_created(self, event):

if event.is_directory: return

print(f'新文件: {event.src_path}')

# 这里写自动处理逻辑


observer = Observer()

observer.schedule(AutoHandler(), path='./watch_folder', recursive=False)

observer.start()

try:

while True: time.sleep(1)

except KeyboardInterrupt:

observer.stop()

observer.join()

五、邮件自动发报表给老板

适用:每周自动发数据周报 / 定时任务通知

import smtplib

from email.mime.text import MIMEText

from email.mime.multipart import MIMEMultipart

from email.mime.application import MIMEApplication


def send_email(to, subject, content, attachment=None):

msg = MIMEMultipart()

msg['Subject'] = subject

msg['From'] = 'me@company.com'

msg['To'] = to

msg.attach(MIMEText(content, 'plain', 'utf-8'))

if attachment:

with open(attachment, 'rb') as f:

part = MIMEApplication(f.read())

part['filename'] = attachment

msg.attach(part)

with smtplib.SMTP('smtp.company.com', 587) as s:

s.starttls()

s.login('me@company.com', 'password')

s.send_message(msg)


send_email('boss@company.com', '本周数据', '见附件', 'data.xlsx')

上手建议

第一步:装 Python 3.11+,编辑器用 VS Code(上一篇文章讲过配置)。

第二步:装必须库

pip install pandas openpyxl watchdog beautifulsoup4 lxml requests

第三步:把附件里 5 个脚本存到 `scripts/`,按需调用。

第四步:写自己的工具

  1. 找到你重复做的动作(比如「每周导数据 + 发邮件」)

2. 拆 3 步:取数据 → 处理 → 发出去

3. 找现成库(90% 都有现成轮子)

4. 写 30 行脚本,跑通

常见问题

Q:Python 不是编程吗?我学不会怎么办?

A:这 5 个脚本都不涉及算法,你只需要会复制、改路径、跑。先跑通比理解每一行重要,跑通后再回头看 log。

Q:报错红色一片英文怎么办?

A:错误信息最下面一行写「xxxError: yyy」,复制 yyy Google,9 成有现成答案。

Q:能跑 GUI 软件吗(按按钮那种)?

A:用 `pyautogui`,但慢。建议把软件任务转成命令行版(比如 Excel 用 openpyxl 代替)。

Q:怎么部署到服务器 24 小时跑?

A:用 systemd / cron / 阿里云函数计算。附件里有 Linux 部署模板。

写在最后

Python 不是用来变成程序员的,是用来让重复工作消失。你一周省下 5 小时,就是这篇文章的全部价值。

附件里给了 5 个脚本 + 一份新手常见坑清单(PDF) + 一份速查表(JPG)。下载照着跑,跑不通就再看一遍文章里"上手建议"那节。

立即开始自动化,每周省下 5 小时。

转载请说明出处 内容投诉
素材市场 » Python 自动化脚本入门:5 个开箱即用的小工具,办公效率翻倍

发表评论

您需要后才能发表评论

一个令你着迷的主题!

点击下载 VIP购买