想学会Python自动化办公?这20个Excel表格操作脚本一定要掌握!

✨前言:老板的"灵魂拷问"

事情是这样的,某天老板突然丢过来一个Excel表格,拍着桌子说:

"小李,这个Excel里几千行数据,你给我整理一下,明天早上要用!"

我当时差点没把手里的奶茶喷出来,心想:几千行?手动改?我这怕不是得改秃了!

于是,我默默打开了我的Python神器------pandasopenpyxl,不到十分钟,任务搞定,潇洒下班。老板看着整齐的数据,眼里透着光,转头又给我派了个新活儿......

既然自动化办公这么香,那今天就给大家分享20个超实用的Excel操作脚本,让你轻松搞定表格数据处理,成为职场效率王!💡

在学习技能之前确保电脑里已经安装了pandasopenpyxl这2个必备神器!

复制代码
pip install pandas openpyxl

🔢 1. 读取Excel文件

python 复制代码
import pandas as pd

# 读取Excel
df = pd.read_excel("data.xlsx")
print(df.head())  # 查看前5行数据

💡 用途:打开Excel文件,读取数据,如果Excel中多个Sheet里都有数据,默认获取第一个Sheet里的数据。

🔢 2. 保存Excel文件

python 复制代码
df.to_excel("output.xlsx", index=False)

💡 用途 :保存DataFrame格式数据为Excel文件,index=False表示不保存索引。

🔢 3. 读取多个Sheet

python 复制代码
df_dict = pd.read_excel("data.xlsx", sheet_name=None)  # 读取所有Sheet
print(df_dict.keys())  # 打印所有Sheet名称 比如 dict_keys(['Sheet1', 'Sheet2'])

# 遍历df_dict打印出所有的数据
for key in df_dict:
    print(df_dict[key]) # 根据key值获取df_dict中存放的dataframe格式数据

💡 用途:一次性读取多个Sheet,返回字典格式,这个字典value对应了一个Dataframe格式的数据。

🔢 4. 选取特定列

python 复制代码
selected_columns = df[["姓名", "工资"]]
print(selected_columns.head())

💡 用途:提取某些关键列,方便分析。

🔢 5. 过滤数据

python 复制代码
high_salary = df[df["工资"] > 10000]  # 筛选工资大于1万的员工
print(high_salary)

💡 用途:数据筛选,比Excel的筛选功能还强大。

🔢 6. 处理空值

python 复制代码
df.fillna("缺失值", inplace=True)  # 用"缺失值"填充空值
df.dropna(inplace=True)  # 删除含空值的行

💡 用途 :处理空白单元格,防止数据异常。在 pandas 里,inplace=True 的作用是直接在原数据上进行修改,而不返回新的 DataFrame。

🔢 7. 添加新列

python 复制代码
df["奖金"] = df["工资"] * 0.1  # 工资的10%作为奖金

💡 用途:快速计算并添加新列。

🔢 8. 修改列名

python 复制代码
df.rename(columns={"姓名": "员工姓名"}, inplace=True)

💡 用途:更改列名,增强可读性。

🔢 9. 按条件修改数据

python 复制代码
df.loc[df["工资"] < 5000, "工资"] = 5000  # 最低工资设为5000

💡 用途:把工资列中值小于5000的都改成5000,批量修改数据,比手动改省事多了。

🔢 10. 排序数据

python 复制代码
df.sort_values(by="工资", ascending=False, inplace=True)

💡 用途 :按工资降序排列。ascending=False 是降序,ascending=True 是升序。

🔢 11. 计算数据统计值

python 复制代码
df["工资"].mean()     # 计算平均值
df["工资"].sum()      # 总和
df["工资"].max()      # 最大值
df["工资"].min()      # 最小值
df["工资"].median()   # 中位数
df["工资"].std()      # 标准差(衡量数据波动)
df["工资"].var()      # 方差(数据的离散程度)
df["工资"].count()    # 计数(非空值数量)
df["工资"].describe() # 一次性输出所有统计信息

💡 用途:数据统计,计算平均值、最大值等。

🔢 12. 合并两个表格

python 复制代码
df_new = pd.merge(df1, df2, on="员工ID", how="left")

💡 用途:类似Excel的VLOOKUP,这个代码的作用是 基于"员工ID"这个列,把 df2 的数据合并到 df1,并使用 left join 方式来匹配数据。

🔢 13. 透视表

python 复制代码
pivot = df.pivot_table(values="工资", index="部门", aggfunc="sum")

💡 用途:数据透视表,返回Dataframe格式,轻松分析数据。

🔢 14. 生成Excel带格式

python 复制代码
from openpyxl import Workbook
from openpyxl.styles import Font

wb = Workbook()
ws = wb.active
ws["A1"] = "姓名"
ws["A1"].font = Font(bold=True)  # 加粗
wb.save("styled.xlsx")

💡 用途:添加格式,提升Excel美观度。

🔢 15. 读取Excel某个单元格

python 复制代码
from openpyxl import load_workbook

wb = load_workbook("data.xlsx")
ws = wb.active
print(ws["B2"].value)  # 读取B2单元格

💡 用途:单元格精确读取。

🔢 16. 写入Excel单元格

python 复制代码
ws["C2"] = "新数据"
wb.save("data.xlsx")

💡 用途:向Excel写入数据。

🔢 17. 删除某列

python 复制代码
df.drop(columns=["奖金"], inplace=True)

💡 用途:删除不需要的数据列。

🔢 18. 复制数据

python 复制代码
copied_df = df.copy()

💡 用途 :避免修改原数据。copied_df = df.copy() 之所以要用 .copy(),是为了创建 df 的一个真正的副本,而不是简单的引用。如果你直接写 copied_df = df,那么 copied_df 其实只是 df 的一个视图,它们指向同一个数据对象,修改 copied_df 也会影响 df,反之亦然。

🔢 19. 批量写入多个Sheet

python 复制代码
with pd.ExcelWriter("output.xlsx") as writer:
    df1.to_excel(writer, sheet_name="Sheet1")
    df2.to_excel(writer, sheet_name="Sheet2")

💡 用途:一次性写入多个Sheet。

🔢 20. 生成柱状图

python 复制代码
df.plot(kind="bar", x="姓名", y="工资")

💡 用途 :数据可视化,这行代码生成的图表默认会直接显示在Jupyter Notebook或交互式环境(如IPython)里,但是如果你在终端或Python脚本中运行,图可能不会自动弹出。

让图表显示:

方法 1:加上 plt.show()

python 复制代码
import matplotlib.pyplot as plt

df.plot(kind="bar", x="姓名", y="工资")  # 生成柱状图
plt.show()  # 显示图表

plt.show() 会弹出一个窗口,把图像展示出来。

方法 2:保存为图片

如果想把图表保存成图片文件,可以用:

python 复制代码
df.plot(kind="bar", x="姓名", y="工资")
plt.savefig("salary_chart.png")  # 保存成PNG文件

这样你就可以在文件夹里找到 salary_chart.png 了!


🎉总结

学会这些Excel自动化脚本,能让你从手工整理Excel的苦力活中解放出来,早下班不是梦!希望大家都能成为Python自动化办公的高手,遇到Excel问题,不要慌,Python安排上!🚀

有啥问题,评论区见~ 😆

相关推荐
Avan_菜菜32 分钟前
使用 Docker + rclone 自建 WebDAV
后端·agent·claude
神奇的程序员2 小时前
我的软件冲进苹果商店下载榜前 50 了
前端
阳光是sunny2 小时前
别再被 worktree 绕晕了!AI 编程时代你必须掌握的 Git 隔离神器
前端·人工智能·后端
万少3 小时前
万少的博客 - 技术分享与解决方案
前端·javascript·后端
咖啡八杯4 小时前
GoF设计模式——备忘录模式
java·后端·spring·设计模式
苍何4 小时前
腾讯再放大招,企微 Agent 大圆开启内测
后端
ethantan4 小时前
一篇讲解AI Agent 组成:像人一样思考的智能体
人工智能·后端·程序员
apocelipes6 小时前
常用编程语言和库的正则表达式性能对比
c语言·c++·python·性能优化·golang·开发工具和环境
Cosolar6 小时前
vLLM 生产级部署完全指南
人工智能·后端·架构
尘世中一位迷途小书童6 小时前
用 Cesium 撸了一个森林火情监控大屏,弧线、粒子、发光效果都齐了
前端·javascript