想学会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安排上!🚀

有啥问题,评论区见~ 😆

相关推荐
小码编匠2 分钟前
.NET 验证码生成神器基于 SkiaSharp 的高性能方案
后端·c#·.net
风象南2 分钟前
SpringBoot中6种跨域请求解决方案
java·spring boot·后端
LucianaiB4 分钟前
拿到Offer,租房怎么办?看我用高德MCP+腾讯云MCP,帮你分分钟搞定!
前端·后端·cursor
vivo互联网技术4 分钟前
活动中台系统慢 SQL 治理实践
java·数据库·后端
用户175923421502810 分钟前
D3.js - 基本用法
前端·d3.js
满怀101511 分钟前
Python入门(5):异常处理
开发语言·python
莓事哒12 分钟前
使用pytesseract和Cookie登录古诗文网~(python爬虫)
爬虫·python·pycharm·cookie·pytessarct
赵钰老师16 分钟前
【Deepseek、ChatGPT】智能气候前沿:AI Agent结合机器学习与深度学习在全球气候变化驱动因素预测中的应用
人工智能·python·深度学习·机器学习·数据分析
Mr.Liu626 分钟前
小程序30-wxml语法-声明和绑定数据
前端·微信小程序·小程序
76756047927 分钟前
useDateFormat源码解析
前端·源码