Соответствие значений из нескольких текстовых файлов в Python - PullRequest
0 голосов
/ 03 мая 2018

У меня есть 2 текстовых файла, и мне нужно извлечь значение из файла A, сопоставить его с файлом B и напечатать результат.

fileA содержит userID, ArtistID и сколько раз ArtistID был воспроизведен. fileB содержит artistID и имя исполнителя.

Мне нужно написать функцию, которая сообщит мне, сколько раз определенный пользователь играл исполнителя. Мне нужно напечатать имя художника и количество раз. Я сделал псевдокод, но у меня возникли проблемы с продвижением вперед.

def printListenersTimesPlayed(userID)
    find all artists and number of time they've been played from fileA
    find the name of the artist from fileB
    print list of artists and times that the user (userID) has played

любая помощь приветствуется!

1 Ответ

0 голосов
/ 03 мая 2018

Я прилагаю полный код вместе с моим примером файла для вашей справки. Пожалуйста, проверьте, решает ли это вашу проблему или нет.

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 Надеюсь, это решит вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...