为什么选Python做办公自动化
在所有编程语言中,Python是办公自动化的最优选择,原因有三个:
第一,语法简单。Python的代码接近自然语言,一个没写过代码的人,看Python代码也能猜出大概意思。对比一下:
Java需要写5行代码做的事,Python只需要1行。这意味着你花更少的时间在语法上,更多的时间在解决问题上。
第二,库多。处理Excel有openpyxl,处理PDF有PyPDF2,发邮件有smtplib,爬数据有requests和BeautifulSoup。你能想到的办公场景,都有现成的库。
第三,生态好。遇到问题搜一下,99%的情况都有人遇到过同样的问题,而且有现成的解决方案。
环境搭建:5分钟搞定
第1步:下载Python
去python.org下载最新版Python。安装时一定要勾选"Add Python to PATH",否则命令行找不到python命令。
第2步:验证安装
打开命令行(Windows按Win+R输入cmd),输入:
python --version
看到版本号就说明安装成功。
第3步:安装编辑器
推荐用VS Code,免费、轻量、插件丰富。安装后搜索安装"Python"扩展即可。
第4步:安装必要的库
pip install openpyxl pandas requests beautifulsoup4 schedule
这一行命令安装了办公自动化最常用的5个库:Excel处理、数据分析、网络请求、网页解析、定时任务。
核心语法:只需要掌握这些
你不需要学完整个Python。办公自动化只需要掌握以下语法:
变量和数据类型
name = "张三" # 字符串
age = 30 # 整数
salary = 15000.50 # 浮点数
is_active = True # 布尔值
skills = ["Excel", "Python", "SQL"] # 列表
条件判断
if salary > 10000:
print("高薪")
elif salary > 5000:
print("中等")
else:
print("需要加油")
循环
# 遍历列表
for skill in skills:
print(f"掌握技能:{skill}")
# 遍历文件
import os
for file in os.listdir("./reports"):
if file.endswith(".xlsx"):
print(f"发现Excel文件:{file}")
函数
def process_excel(file_path):
"""处理Excel文件的函数"""
import openpyxl
wb = openpyxl.load_workbook(file_path)
sheet = wb.active
data = []
for row in sheet.iter_rows(values_only=True):
data.append(row)
return data
第一个自动化脚本:批量重命名文件
来看一个实际的例子。假设你有一个文件夹,里面全是乱序命名的文件,需要按日期+序号重命名:
import os
from datetime import datetime
def batch_rename(folder_path, prefix="文件"):
"""批量重命名文件夹中的文件"""
files = os.listdir(folder_path)
files.sort() # 按原名排序
for i, filename in enumerate(files, 1):
# 获取扩展名
ext = os.path.splitext(filename)[1]
# 生成新名字
date_str = datetime.now().strftime("%Y%m%d")
new_name = f"{prefix}_{date_str}_{i:03d}{ext}"
# 重命名
old_path = os.path.join(folder_path, filename)
new_path = os.path.join(folder_path, new_name)
os.rename(old_path, new_path)
print(f"{filename} → {new_name}")
# 使用
batch_rename("./月度报告", "销售报告")
这个脚本做了三件事:列出文件、生成新名字、执行重命名。10行代码搞定了一个手动要做半小时的活。
下一步
环境搭好了,语法会了,第一个脚本也写了。接下来我们进入实际办公场景:用Python处理Excel、自动发邮件、管理文件、爬取数据、定时执行任务。每一篇都是可以直接用的实战代码。