需求:将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文件