initial versions of solutions to harry potter challenges
[harrypotter-wikipedia-cdsw-solutions] / solution2.py
1 # Q: Who are the 5 most active editors on articles in Harry Potter? How may edits have they made?
2
3 from csv import DictReader
4
5 # read in the input file and count by day
6 input_file = open("hp_wiki.tsv", 'r', encoding="utf-8")
7
8 edits_by_editor = {}
9 for row in DictReader(input_file, delimiter="\t"):
10     user = row['user']
11
12     if user in edits_by_editor:
13         edits_by_editor[user] = edits_by_editor[user] + 1
14     else:
15         edits_by_editor[user] = 1
16
17 input_file.close()
18
19 # I used this answer here:
20 # https://stackoverflow.com/questions/613183/sort-a-python-dictionary-by-value
21
22 num_printed = 0
23 for user in sorted(edits_by_editor, key=edits_by_editor.get, reverse=True):
24     print(user + " : " + str(edits_by_editor[user]))
25     if num_printed >= 4:
26         break
27     else:
28         num_printed = num_printed + 1
29         

Benjamin Mako Hill || Want to submit a patch?