自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

盤點(diǎn)打工人必備的十個(gè)Python自動(dòng)化腳本

開發(fā) 前端
大家在職場(chǎng)辦公中是否遇到下面的問題?Excel表格滿天飛,處理起來很不容易;每個(gè)月郵件轟炸,逐個(gè)修改抄送名單到眼睛發(fā)酸;加班到深夜,卻還有很多分析報(bào)告未完成,等等場(chǎng)景。

大家在職場(chǎng)辦公中是否遇到下面的問題?Excel表格滿天飛,處理起來很不容易;每個(gè)月郵件轟炸,逐個(gè)修改抄送名單到眼睛發(fā)酸;加班到深夜,卻還有很多分析報(bào)告未完成,等等場(chǎng)景。

如果你遇到上面的問題,那么恭喜你已經(jīng)成為一個(gè)合格的打工人,如何解決這些問題,就是本節(jié)內(nèi)容的核心,本節(jié)使用Python盤點(diǎn)十個(gè)在辦公場(chǎng)景中使用最多的腳本,幫你提高工作效率。

首先使用Python中的Faker庫生成一個(gè)包含員工信息的模擬數(shù)據(jù)集,字段為中文字段,包括員工編號(hào)、姓名、部門、工資、入職日期、郵箱等,這個(gè)案例數(shù)據(jù)集用于本節(jié)的代碼演示。

import pandas as pd
import numpy as np
from faker import Faker


# 初始化Faker,支持中文
fake = Faker("zh_CN")


# 生成100條員工數(shù)據(jù)
data = {
    "員工編號(hào)": range(1, 101),
    "姓名": [fake.name() for _ in range(100)],
    "部門": np.random.choice(["人力資源部", "財(cái)務(wù)部", "信息技術(shù)部", "銷售部", "市場(chǎng)部"], 100),
    "工資": np.random.randint(3000, 10000, 100),
    "入職日期": [fake.date_between(start_date="-5y", end_date="today") for _ in range(100)],
    "郵箱": [fake.email() for _ in range(100)],
}


# 創(chuàng)建DataFrame
df = pd.DataFrame(data)


# 保存為Excel文件
df.to_excel("員工數(shù)據(jù).xlsx", index=False)

1.數(shù)據(jù)清洗與格式轉(zhuǎn)換

將入職日期格式化為 YYYY-MM-DD,并刪除工資低于5000的記錄,用于標(biāo)準(zhǔn)化數(shù)據(jù)格式,清理無效數(shù)據(jù),手動(dòng)修改日期格式和刪除記錄效率低,容易出錯(cuò)。

import pandas as pd


# 讀取數(shù)據(jù)
df = pd.read_excel("員工數(shù)據(jù).xlsx")


# 格式化日期
df["入職日期"] = pd.to_datetime(df["入職日期"]).dt.strftime("%Y-%m-%d")


# 刪除工資低于5000的記錄
df = df[df["工資"] >= 5000]


# 保存清洗后的數(shù)據(jù)
df.to_excel("清洗后的員工數(shù)據(jù).xlsx", index=False)

2.按部門拆分Excel文件

將員工數(shù)據(jù)按部門拆分為多個(gè)Sheet,方便按部門查看數(shù)據(jù),手動(dòng)拆分?jǐn)?shù)據(jù)費(fèi)時(shí)費(fèi)力,尤其是數(shù)據(jù)量較大時(shí),使用這個(gè)腳本可批量操作。

import pandas as pd


df = pd.read_excel("員工數(shù)據(jù).xlsx")
departments = df["部門"].unique()


with pd.ExcelWriter("按部門拆分的員工數(shù)據(jù).xlsx") as writer:
    for dept in departments:
        df_dept = df[df["部門"] == dept]
        df_dept.to_excel(writer, sheet_name=dept, index=False)

3.生成工資統(tǒng)計(jì)報(bào)表

統(tǒng)計(jì)每個(gè)部門的平均工資和總工資,生成部門工資概覽報(bào)表,手動(dòng)計(jì)算統(tǒng)計(jì)指標(biāo)容易出錯(cuò),尤其是數(shù)據(jù)量較大時(shí)。

import pandas as pd


df = pd.read_excel("員工數(shù)據(jù).xlsx")
report = df.groupby("部門").agg({"工資": ["mean", "sum"]})
report.columns = ["平均工資", "總工資"]
report.to_excel("工資統(tǒng)計(jì)報(bào)表.xlsx")

4.自動(dòng)發(fā)送工資條郵件

為每個(gè)員工生成工資條并發(fā)送郵件,自動(dòng)化工資條發(fā)放,手動(dòng)發(fā)送郵件效率低,容易遺漏或出錯(cuò)。

import pandas as pd
import smtplib
from email.mime.text import MIMEText


df = pd.read_excel("員工數(shù)據(jù).xlsx")


# 郵件配置
smtp_server = "smtp.example.com"
port = 587
sender_email = "hr@company.com"
password = "your_password"


for index, row in df.iterrows():
    msg = MIMEText(f"尊敬的{row['姓名']},您的本月工資為{row['工資']}元。")
    msg["Subject"] = "您的工資條"
    msg["From"] = sender_email
    msg["To"] = row["郵箱"]


    with smtplib.SMTP(smtp_server, port) as server:
        server.starttls()
        server.login(sender_email, password)
        server.send_message(msg)

5.為Excel添加條件格式

高亮顯示工資高于8000的員工,快速識(shí)別高工資員工,手動(dòng)高亮顯示效率低,尤其是數(shù)據(jù)量較大時(shí)。

from openpyxl import load_workbook
from openpyxl.styles import PatternFill


wb = load_workbook("員工數(shù)據(jù).xlsx")
ws = wb.active


# 定義綠色填充
green_fill = PatternFill(start_color="00FF00", end_color="00FF00", fill_type="solid")


for row in ws.iter_rows(min_row=2, max_col=4, max_row=ws.max_row):
    if row[3].value > 8000:  # 假設(shè)工資在第4列
        for cell in row:
            cell.fill = green_fill


wb.save("高亮顯示員工數(shù)據(jù).xlsx")

6.生成員工入職年份分布圖

統(tǒng)計(jì)員工入職年份分布并生成圖表,分析員工入職趨勢(shì),手動(dòng)繪制圖表費(fèi)時(shí),尤其是數(shù)據(jù)量較大時(shí)。

import pandas as pd
from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference


df = pd.read_excel("員工數(shù)據(jù).xlsx")
df["入職年份"] = pd.to_datetime(df["入職日期"]).dt.year
year_distribution = df["入職年份"].value_counts().sort_index()


# 創(chuàng)建Excel圖表
wb = Workbook()
ws = wb.active
ws.append(["年份", "人數(shù)"])
for year, count in year_distribution.items():
    ws.append([year, count])


chart = BarChart()
chart.title = "員工入職年份分布"
data_range = Reference(ws, min_col=2, min_row=1, max_row=len(year_distribution)+1, max_col=2)
categories = Reference(ws, min_col=1, min_row=2, max_row=len(year_distribution)+1)
chart.add_data(data_range, titles_from_data=True)
chart.set_categories(categories)
ws.add_chart(chart, "D2")


wb.save("員工入職年份分布.xlsx")

7.批量重命名Excel列名

將列名改為拼音格式,統(tǒng)一列名格式,方便后續(xù)處理,手動(dòng)修改列名容易出錯(cuò),尤其是列數(shù)較多時(shí)。

import pandas as pd


df = pd.read_excel("員工數(shù)據(jù).xlsx")
df.columns = ["employee_id", "name", "department", "salary", "join_date", "email"]
df.to_excel("重命名后的員工數(shù)據(jù).xlsx", index=False)

8.填充空值

將缺失的郵箱填充為默認(rèn)值,處理數(shù)據(jù)缺失問題,手動(dòng)填充空值效率低,尤其是數(shù)據(jù)量較大時(shí)。

import pandas as pd


df = pd.read_excel("員工數(shù)據(jù).xlsx")
df["郵箱"].fillna("無郵箱@公司.com", inplace=True)
df.to_excel("填充空值后的員工數(shù)據(jù).xlsx", index=False)

9.生成隨機(jī)績效評(píng)分

為每位員工生成隨機(jī)績效評(píng)分(1-5分),模擬績效數(shù)據(jù),手動(dòng)生成隨機(jī)數(shù)據(jù)效率低。

import pandas as pd
import numpy as np


df = pd.read_excel("員工數(shù)據(jù).xlsx")
df["績效評(píng)分"] = np.random.randint(1, 6, size=len(df))
df.to_excel("帶績效評(píng)分的員工數(shù)據(jù).xlsx", index=False)

10.自動(dòng)化數(shù)據(jù)驗(yàn)證

在Excel中添加下拉列表限制部門輸入值,防止輸入錯(cuò)誤數(shù)據(jù),手動(dòng)設(shè)置數(shù)據(jù)驗(yàn)證繁瑣。

from openpyxl import load_workbook
from openpyxl.worksheet.datavalidation import DataValidation


wb = load_workbook("員工數(shù)據(jù).xlsx")
ws = wb.active


# 添加數(shù)據(jù)驗(yàn)證
dv = DataValidation(type="list", formula1='"人力資源部,財(cái)務(wù)部,信息技術(shù)部,銷售部,市場(chǎng)部"')
dv.add("C2:C100")  # 假設(shè)部門列在C列
ws.add_data_validation(dv)


wb.save("帶數(shù)據(jù)驗(yàn)證的員工數(shù)據(jù).xlsx")

通過以上案例,你可以輕松實(shí)現(xiàn)多種Excel自動(dòng)化任務(wù),比如數(shù)據(jù)清洗與格式轉(zhuǎn)換、數(shù)據(jù)拆分與合并、統(tǒng)計(jì)分析與報(bào)表生成、自動(dòng)化郵件發(fā)送、圖表生成與可視化等,通過這些Python腳本可以顯著提高工作效率!

責(zé)任編輯:華軒 來源: 大話數(shù)據(jù)分析
相關(guān)推薦

2024-06-21 10:46:44

2024-10-28 19:36:05

2024-08-14 14:42:00

2024-12-10 07:15:00

2022-05-07 14:08:42

Python自動(dòng)化腳本

2024-07-01 18:07:30

Python腳本自動(dòng)化

2024-12-10 00:01:00

自動(dòng)化腳本優(yōu)化

2022-10-09 14:50:44

Python腳本

2022-07-27 08:01:28

自動(dòng)化DevOps

2024-08-19 10:21:37

接口Python魔法方法

2022-07-05 14:00:49

編排工具自動(dòng)化

2023-08-01 12:57:41

網(wǎng)頁Volusion?國外

2024-05-13 16:29:56

Python自動(dòng)化

2024-08-16 21:14:36

2024-11-13 13:14:38

2022-02-17 13:03:28

Python腳本代碼

2024-08-16 21:51:42

2020-11-03 21:11:39

IT

2025-02-07 12:58:33

python自動(dòng)化腳本

2022-08-05 09:06:07

Python腳本代碼
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)