使用 pandas 实现 excel 的 vlookup 功能
1. 读取数据
import openpyxl
import pandas as pd
df1 = pd.DataFrame(pd.read_excel('table1.xls',sheet_name = 'Sheet1'))
df2 = pd.DataFrame(pd.read_excel('table2.xls',sheet_name = 'Sheet1'))
2. 实现 vlookup 功能
#只在table1添加分数列,不添加排名列
result = pd.merge(df1,df2.loc[:,['学号','分数']],how='left',on = '学号')
3. 保存结果
writer = pd.ExcelWriter('result.xlsx')
result.to_excel(writer,index=False)
writer.save()
探讨哦:写法上有点怪,是不是我的无知?
1、这个流程好像不用 import openpyxl 就行。
2*、df1 和 df2 我一般直接就写 pd.read_excel 的,而不加 pd.DataFrame 的,而且,如果只要读两列的话,可以写 user_cols 参数。所以,在 merge 时,就简单了。*
3、保存结果的代码,我好像就写了一行,应该就是 result.to_excel。不清楚这样写规范不规范。
所以,拿来和大神探讨一下。请大神指点。
回帖内容已被屏蔽。
👍
厉害厉害,比我的方法好多了 👍