Я прилагаю полный код вместе с моим примером файла для вашей справки. Пожалуйста, проверьте, решает ли это вашу проблему или нет.
import sys
import csv
mapFileA=sys.argv[1]
mapFileB=sys.argv[2]
Artist_dict ={}
data_dict ={}
with open(mapFileB,'rb') as csvfile:
data = csv.reader(csvfile,delimiter=',')
for l in data:
Artist_dict[l[0]]=l[1]
with open(mapFileA,'rb') as csvfile:
data = csv.reader(csvfile,delimiter=',')
for l in data:
if(l[1] in Artist_dict):
data_dict[l[0]]=(Artist_dict[l[1]],l[2])
## function declaration
def findartist(userId):
if (userId in data_dict):
artist,times=data_dict[userId]
print("user "+userId+" played artist "+artist+" "+times+"times")
## function call
findartist("100A")
примеры файлов:
файл A - он содержит user_id, Artist_Id, нет. раз пользователь играл исполнителя
100A,AAA,10
100B,BBB,3
100C,CCC,50
100D,DDD,7
файл B: имеет Artist_id, Artist_Name
AAA,ArtistA
BBB,ArtistB
CCC,ArtistC
DDD,ArtistD
Надеюсь, это решит вашу проблему.