行政/市场/财务必看!3个Python案例,每天少花2小时重复活

B站影视 港台电影 2025-09-25 15:40 1

摘要:前几天帮同事解决了个难题:她做市场周报时,要手动从5个Excel表复制数据,再整理成可视化图表,每天花3小时还总出错。我给她写了段20行的Python代码,现在她导入数据后点一下运行,10秒就能出表出图。其实Python没那么复杂,很多职场问题,几行代码就能解

前几天帮同事解决了个难题:她做市场周报时,要手动从5个Excel表复制数据,再整理成可视化图表,每天花3小时还总出错。我给她写了段20行的Python代码,现在她导入数据后点一下运行,10秒就能出表出图。其实Python没那么复杂,很多职场问题,几行代码就能解决。今天就分享3个能直接套用的实操案例,每个都附核心代码和步骤,看完就能用。

痛点

每月要核对20个部门的考勤表(含“姓名、日期、打卡时间”),手动找“迟到(早于9:00)、漏打卡”记录,3天才能做完,还容易看漏。

Python实操步骤(附核心代码)

1. 准备工具:安装Python后,用pip install pandas装数据分析库(电脑终端输入即可)。

2. 核心代码(直接复制修改路径就能用):

import pandas as pd # 导入数据分析库

# 1. 读取所有考勤表(把20个表放同一个“考勤文件夹”里)

import os

file_path = "C:/工作文件/考勤文件夹" # 替换成你的文件夹路径

all_files = [f for f in os.listdir(file_path) if f.endswith(".xlsx")]

# 2. 批量处理每个表,标记异常记录

for file in all_files:

df = pd.read_excel(f"{file_path}/{file}") # 读取单个表

# 标记迟到(假设打卡时间列叫“打卡时间”,转成时间格式后判断)

df["打卡时间"] = pd.to_datetime(df["打卡时间"], format="%H:%M:%S", errors="coerce")

df["是否迟到"] = df["打卡时间"].apply(lambda x: "是" if x > pd.to_datetime("09:00:00") else "否")

# 标记漏打卡(空值即漏打)

df["是否漏打卡"] = df["打卡时间"].isnull.apply(lambda x: "是" if x else "否")

# 3. 保存处理后的表(加“已处理”前缀,方便区分)

df.to_excel(f"{file_path}/已处理_{file}", index=False)

print("所有考勤表处理完成!")

3. 效果:20个表5分钟处理完,异常记录自动标红(可在Excel里设置条件格式),不用再逐行核对。

痛点

想监控3家竞品的某款产品价格,每天要打开3个网站复制粘贴,手动做对比表,耗时1小时。

1. 准备工具:安装pip install requests beautifulsoup4 pandas(爬虫+分析。

2. 核心代码(以爬取公开电商商品页为例,需替换实际URL):

import requests

from bs4 import BeautifulSoup

import pandas as pd

# 1. 定义要爬取的竞品URL(这里用示例链接,需替换成你要监控的真实商品页)

product_urls = {

"竞品A": "https://example.com/product1",

"竞品B": "https://example.com/product2",

"竞品C": "https://example.com/product3"

}

# 2. 爬取每个竞品的价格

price_data =

for name, url in product_urls.items:

response = requests.get(url) # 发送请求获取页面

soup = BeautifulSoup(response.text, "html.parser")

# 提取价格(需根据目标网站的HTML结构修改,用F12查看元素)

# 示例:假设价格在class为“price”的标签里

price = soup.find("span", class_="price").text.strip

price_data.append({"竞品名称": name, "价格": price, "日期": pd.Timestamp.now.strftime("%Y-%m-%d")})

# 3. 生成对比表并保存

df = pd.DataFrame(price_data)

df.to_excel("竞品价格对比表.xlsx", index=False)

print("竞品价格爬取完成,已保存对比表!")

3. 注意:爬取前确认网站是否允许(查看robots协议),避免频繁请求导致IP被封。

4. 效果:每天运行1次代码,自动获取最新价格并生成表格,还能加代码自动计算“价格差”“降幅”,不用再手动查。

痛点

每月要给50个客户发催款邮件,手动写主题、填“客户名称+欠款金额”,1小时才能发完,还容易写错信息。

1. 准备工具:安装pip install pandas smtplib(邮件发送库),先在邮箱设置里开启“SMTP服务”(如QQ邮箱需获取授权码)。

2. 核心代码(需替换邮箱信息):

import pandas as pd

import smtplib

from email.mime.text import MIMEText

# 1. 读取客户欠款数据(Excel表含“客户名称、邮箱、欠款金额”)

df = pd.read_excel("客户欠款表.xlsx")

# 2. 配置邮箱信息(替换成你的发件邮箱)

smtp_server = "smtp.qq.com" # QQ邮箱SMTP服务器,其他邮箱需修改(如163是smtp.163.com)

smtp_port = 587 # 端口号

sender_email = "你的邮箱@qq.com"

sender_password = "你的邮箱授权码" # 不是登录密码,是SMTP授权码

# 3. 批量发送催款邮件

with smtplib.SMTP(smtp_server, smtp_port) as server:

server.starttls # 开启加密

server.login(sender_email, sender_password)

for _, row in df.iterrows:

# 邮件内容(动态填充客户信息)

subject = f"【催款通知】{row['客户名称']},您有{row['欠款金额']}元待支付"

content = f"""

尊敬的{row['客户名称']}:

您好!截至今日,您尚有{row['欠款金额']}元货款未支付,请于3日内完成付款,感谢配合!

如有疑问,请随时联系我们。

"""

# 构造邮件

msg = MIMEText(content, "plain", "utf-8")

msg["Subject"] = subject

msg["From"] = sender_email

msg["To"] = row["客户邮箱"]

# 发送邮件

server.send_message(msg)

print(f"已给{row['客户名称']}发送催款邮件!")

print("所有催款邮件发送完成!")

3. 效果:50个客户的邮件5分钟发完,信息自动填充,不会出错,还能加代码记录“发送状态”,方便后续跟踪。

1. 不用死记代码:把上面的案例保存下来,根据自己的工作需求修改“文件路径、表格列名、网站标签”即可,用得多了自然就熟了。

2. 遇到报错别慌:最常见的报错是“路径错了”“库没装”,复制报错信息去百度,90%的问题都有现成答案。

其实职场里用Python,不用学复杂的算法和开发,只要解决“重复、耗时、易出错”的问题就行。上面3个案例,覆盖了行政、市场、财务的高频需求,你可以挑一个和自己工作相关的,试着跑一遍代码——会发现比想象中简单多了。

需要我针对你具体的工作场景(比如电商运营、教育机构行政),再定制一个Python实操案例吗?这样你能直接套用在日常工作里。​​​

来源:绿叶菜

相关推荐