用pandas导入excel后找出A出现在B里的数,A里的值被匹配多次
python吧
全部回复
仅看楼主
level 11
import pandas as pd
f = input('请输入需要判断的模板文件路径:',)
a = pd.read_excel(f, header=2)
asb = a['条码']
b = pd.read_excel('D:/Users/Admin/Desktop/条码.xlsx', header=0)
b = b['条码']
n = set([i for i in asb if i in b.values])
print('下列条码:', n)
两个表asb和b数据类型都是pandas.core.series。倒数第二行列表推导式前面不用set会导致asb多次匹配b(我的测试用例asb里面只有一个值出现在b,最后结果打印了一堆这个值);后面不用values就是空值
感觉用set去重好呆,有无熟悉pandas的佬知道重复匹配多次是怎么造成的[花心]
2026年03月27日 07点03分 1
level 6
循环匹配不跳出么
2026年03月27日 09点03分 2
底层就是循环匹配第一个值成功后没有跳出,2楼方法就可以解决
2026年03月28日 12点03分
跳出哪个,没理解[乖]
2026年03月28日 00点03分
level 1
有Series的isin方法,然后用来截取原数组就行
2026年03月27日 11点03分 3
好办法[真棒]
2026年03月28日 00点03分
1