|
60鱼币
就是两个文本文档,怎么通过a文本姓名那一列的姓名锁定b文本的有该姓名的那一行,再把该行的分数复制到a文本名字后面,类似于表格VLOOK函数的功能
本帖最后由 Tato 于 2024-7-30 17:06 编辑
# file_a
# name
# a
# c
# file_b
# name score
# a 10
# d 30
# c 20
# 代码部分
import pandas as pd
df_a = pd.read_excel('file_a.xlsx', engine='openpyxl', index_col=False)
# 生成新列
df_a['generate_score'] = ''
df_b = pd.read_excel('file_b.xlsx', engine='openpyxl', index_col=False)
# 利用shape[0]返回数据行数,遍历匹配name列,赋值新列
# iloc[x,y] 对应行列索引
for i in range(df_a.shape[0]):
for j in range(df_b.shape[0]):
if df_a.iloc[i, 0] == df_b.iloc[j, 0]:
df_a.iloc[i, 1] = df_b.iloc[j, 1]
print(df_a.head(5))
# 需要输出的话,利用pd.to_csv()或者 pd.tp_excel()
# 输出效果
# name generate_score
# 0 a 10
# 1 c 20
|
最佳答案
查看完整内容
# file_a
# name
# a
# c
# file_b
# name score
# a 10
# d 30
# c 20
# 代码部分
import pandas as pd
df_a = pd.read_excel('file_a.xlsx', engine='openpyxl', index_col=False)
# 生成新列
df_a['generate_score'] = ''
df_b = pd.read_excel('file_b.xlsx', engine='openpyxl', index_col=False)
# 利用shape[0]返回数据行数,遍历匹配name列,赋值新列
# iloc[x,y] 对应行列索引
fo ...
|