【发布时间】:2018-09-14 02:34:27
【问题描述】:
我试图从一个电子表格(df name = data2)中引用过期订单列表,并在新订单电子表格(df name = data)上查找它们以删除所有包含过期订单的行。然后返回一个新的电子表格(df name = results)。
我在尝试模仿我在 pandas 中的 excel vloookup/sort/delete 中所做的事情时遇到了麻烦。请以代码形式查看伪代码/步骤:
- 将 simple.xls 导入为名为“data”的数据框
- 导入 wo.xlsm,工作表 将“T”命名为名为“data2”的数据框
使用 Column 进行 vlookup “数据”中的“A”用作要用作的值 与“data2”的“A”列中的任何相同值匹配(两者都只有订单 ID)
对于 'data2' 中 A 列中存在的所有值 并且也存在于“数据”组的“A”列(如有必要)并删除 在两个数据集的 A 列中找到的每个匹配的订单 ID 的整行(有 26 列)。重申一下,删除在“数据”文件中找到的匹配项的整行。将较小的数据集保存为结果。
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-table 中的columns,还是只想使用它来过滤您的订单?