【Pandas】python处理excel之简单的匹配替换

需求:将excel2.xlsx内的“数学”列的分数保存到excel1.xlsx的对应位置上,即更新excel1.xlsx的数学分数
数据表展示:

excel1.xlsx
在这里插入图片描述
excel2.xlsx
在这里插入图片描述

详细步骤:

① 导入pandas模块

import pandas as pd

② 读取数据

# 读取excel1.xlsx数据
filePath1 = "../test2/excel1.xlsx"
df1 = pd.read_excel(filePath1)    # 全部读取

# 读取excel2.xlsx数据
filePath2 = "../test2/excel2.xlsx"
df2 = pd.read_excel(filePath2, usecols = [1, 3])    # 只导入第一列和第三列

结果展示
在这里插入图片描述在这里插入图片描述
③ 查看数据量

# 查看数据量
row_df1 = len(df1)
row_df2 = len(df2)
print("excel1.xlsx共有{}条数据,excel2.xlsx共有{}条数据".format(row_df1, row_df2))
# 结果:excel1.xlsx共有5条数据,excel2.xlsx共有5条数据

④ 遍历搜索替换

# 遍历搜索替换
for i in range(0, row_df1):
    for j in range(0, row_df2):
        if(df1.loc[i, "姓名"] == df2.loc[j, "姓名"]):
            df1.loc[i, "数学"] = df2.loc[j, "数学"]
df1

结果展示
在这里插入图片描述
⑤ 保存修改文件

# 保存修改文件
df1.to_excel("new_excel1.xlsx", sheet_name = "new sheet", index = False)

结果展示:规定路径下生成新excel文件
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值