首页 > 解决方案 > 在数组中查找值

问题描述

假设我有两个数据集

DS1
ArrayCol
[1,2,3,4]
[1,2,3]

DS2
Key            Name
1              A
2              B
3              C
4              D

如何查找数组中的值以映射“名称”,以便我可以拥有另一个数据集,如下所示?

DS3
COlNew
[A,B,C,D]
[A,B,C]

谢谢,它在数据块中,所以方法没问题。蟒蛇,SQL,斯卡拉......

标签: pythonsqlscaladatabricks

解决方案


让我们考虑您的数据集在文件中,您可以执行以下操作,

利用dict

f=open("ds1.txt").readlines()
g=open("ds2.txt").readlines()
u=dict(item.rstrip().split("\t") for item in g)
for i in f:
    i = i.rstrip().strip('][').split(',')
    print [u[col] for col in i]

输出

['A', 'B', 'C', 'D']
['A', 'B', 'C']

推荐阅读