一、文件处理整明白了,少加两小时班
(敲暖气管子)领导让整理100个Excel表?手都干抽筋儿了?Python就跟铲雪车似的,哗哗给你整利索!
招式一:批量改文件名 把"销售报告2023-垃圾版本.docx"都改成"2023_销售报告_final版.docx"
import os
for 老文件名 in os.listdir("文档"):
if "垃圾版本" in 老文件名:
新名 = 老文件名.replace("垃圾版本", "final版").replace("-", "_")
os.rename(f"文档/{老文件名}", f"文档/{新名}")
print(f"【{老文件名}】改名叫【{新名}】妥了!")
招式二:自动合并Excel (拍胸脯)这可比手粘复印纸带劲儿多了!
import pandas as pd
所有表 = []
for 文件 in os.listdir("销售数据"):
if 文件.endswith(".xlsx"):
数据 = pd.read_excel(f"销售数据/{文件}")
所有表.append(数据)
合并表 = pd.concat(所有表)
合并表.to_excel("全年总销售表.xlsx", index=False)
print("合并完成!总共攒了{}行数据!".format(len(合并表)))
二、办公自动化整起来,跟机械劳动说拜拜
(掏裤兜)天天给客户发邮件?Python比新来的实习生还好使!
自动发邮件模板
import smtplib
from email.mime.text import MIMEText
def 发邮件(收件人, 内容):
账号 = "你邮箱"
密码 = "别直接写这儿啊!用环境变量!"
邮件 = MIMEText(内容, 'plain', 'utf-8')
邮件['Subject'] = "【自动发送】月度对账单"
邮件['From'] = 账号
邮件['To'] = 收件人
with smtplib.SMTP_SSL('smtp.qq.com', 465) as 服务器:
服务器.login(账号, 密码)
服务器.sendmail(账号, 收件人, 邮件.as_string())
print(f"给【{收件人}】发邮件成功!")
# 从Excel读取客户名单
客户名单 = pd.read_excel("客户名单.xlsx")
for 行 in 客户名单.itertuples():
发邮件(行.邮箱, f"{行.姓名}大哥您好!您本月消费{行.金额}元!")
三、数据清洗跟玩泥巴似的
(扒蒜)领导给的破数据净是窟窿?Python就是你的强力吸尘器!
处理脏数据三板斧
1.
去重(跟挑黄豆里的石子儿似的)
脏数据 = pd.read_csv("客户信息.csv")
干净数据 = 脏数据.drop_duplicates(subset=["手机号"])
2.
补缺(跟糊墙缝似的)
# 手机号空的填"未知"
干净数据["手机号"].fillna("未知", inplace=True)
# 年龄用平均数补
平均年龄 = int(干净数据["年龄"].mean())
干净数据["年龄"].fillna(平均年龄, inplace=True)
3.
格式统一(跟切酸菜丝儿似的)
# 把乱七八糟的日期格式统一成YYYY-MM-DD
干净数据["注册日期"] = pd.to_datetime(干净数据["注册日期"], errors='coerce').dt.strftime('%Y-%m-%d')
四、定时任务整得像闹钟
(瞅挂钟)每月1号自动生成报表?Python比你家大公鸡还准时!
用schedule库整活
import schedule
import time
def 生成日报表():
# 这里放你的处理代码
print("【凌晨3点】日报表生成完毕,发领导邮箱了!")
# 每天凌晨3点执行
schedule.every().day.at("03:00").do(生成日报表)
while True:
schedule.run_pending()
time.sleep(60) # 每分钟检查一次
五、键盘鼠标自动操作,手都不用动
(甩手腕子)系统非得在破网页上操作?Python给你当替身!
用pyautogui模拟人工操作
import pyautogui as 机器人
import time
# 第一步:打开系统登录页
机器人.hotkey('win', 'r')
机器人.typewrite('chrome.exe\n', interval=0.1)
time.sleep(3)
机器人.typewrite('https://www.91chuli.com/')
# 第二步:输入账号密码
time.sleep(5)
机器人.click(x=100, y=200) # 点击账号框
机器人.typewrite('zhangsan', interval=0.2)
机器人.press('tab')
机器人.typewrite('mima123', interval=0.2)
机器人.press('enter')
print("自动登录成功!")
六、实战:自动备份重要文件
(拍U盘)电脑中病毒全白干?整个自动备份脚本!
import shutil
from datetime import datetime
def 备份文件():
今天 = datetime.now().strftime("%Y%m%d")
备份文件夹 = f"D:/备份/{今天}"
# 要备份的目录
重要资料 = [
"C:/工作文档",
"C:/照片",
"C:/学习资料/考研数学"
]
# 创建备份目录
if not os.path.exists(备份文件夹):
os.makedirs(备份文件夹)
# 开始拷贝
for 目录 in 重要资料:
文件夹名 = os.path.basename(目录)
目标路径 = os.path.join(备份文件夹, 文件夹名)
shutil.copytree(目录, 目标路径)
print(f"【{文件夹名}】备份到{目标文件夹}成功!")
# 每周五下午5点自动备份
schedule.every().friday.at("17:00").do(备份文件)