caute, vedel by mi niekto poradit, ako pomocou scriptu v pythone vyriesit nasledovne?
mam csv file co ma dva stlpce (email / meno)
- zadanie je ze v stlpci "email" treba identifikovat najcastejsiu domenu and potom vypisat vsetky mena ludi zo stlpca "meno" co pouzivaju email z tej domeny identifikovanej v prvom kroku.
priklad dat
Ferko Mrkvicka / [email protected]
Janko Tekvicka / [email protected]
Ivan Truhlik / [email protected]
vystup
Ferko Mrkvicka
Ivan Truhlik
Velka vdaka
python script - list Name values na zaklade email domeny
Re: python script - list Name values na zaklade email domeny
Napriklad takto, ale zavisi, ake dlhe je to tvoje CSV. Ak tam mas miliony zaznamov, uvazoval by som o inom postupe
Kód: Vybrať všetko
import re
src_data = [
("Ferko Mrkvicka", "[email protected]"),
("Janko Tekvicka", "[email protected]"),
("Ivan Truhlik", "[email protected]"),
]
domains = {}
# dostanes lowercase domenu
def parseDomain(email):
matches = re.match( r'.*@(.*)', email, re.I)
return matches.group(1).lower()
# pre kazdy riadok v liste
for row in src_data:
# zisti domenu
domain = parseDomain(row[1])
# ak ju vidime prvy krat
if (domain not in domains):
# priprav dict
domains[domain] = []
# pridaj meno do listu k domene
domains[domain].append(row[0])
# najdi domenu s najviac menami
max_domain = max(domains, key=lambda k: len(domains[k]))
print domains[max_domain] # ['Ferko Mrkvicka', 'Ivan Truhlik']