我想引用一个过期订单列表,这个列表在一个名为"data2"的电子表格中,然后在新订单的电子表格(名为"data")上进行vlookup操作,以删除包含过期订单的所有行。然后返回一个新的电子表格(名为"results")。我尝试在pandas中模仿我在Excel中使用vlookup/sort/delete所做的操作,但遇到了问题。请查看伪代码/步骤如下:
- 作为名为"data"的数据帧导入simple.xls
- 将wo.xlsm中名为"T"的工作表作为名为"data2"的数据帧导入
- 使用“data”中的列"A"作为要匹配的值来进行vlookup,并与"data2"中的列"A"中的任何相同值匹配(它们都只是订单ID)
- 对于所有存在于"data2"的A列中并且也存在于"data"的A列中的值,对它们进行分组(如果有必要)并删除每个匹配到的订单ID所在行(共26列)。再次强调,在"data"文件中删除找到的匹配项的整行。将较小的数据集保存为"results"
import pandas as pd
data = pd.read_excel("ors_simple.xlsx", encoding = "ISO-8859-1",
dtype=object)
data2 = pd.read_excel("wos.xlsm", sheet_name = "T")
results = data.merge(data2,on='Work_Order')
writer = pd.ExcelWriter('vlookuped.xlsx', engine='xlsxwriter')
results.to_excel(writer, sheet_name='Sheet1')
writer.save()
DataFrame
包含您想要删除的值?是data
还是data2
?您需要保留lookup
表中的columns
,还是只想使用它来过滤您的订单? - user3471881