Advertisement
Guest User

Untitled

a guest
Mar 31st, 2015
220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. usernames = open('usernames.txt')
  2. next(usernames)
  3. next(usernames)
  4. users = {}
  5. for line in usernames:
  6.     userid, joindate, name = line.strip().split('\t')
  7.     users[userid]={'name': name, 'items':0.0, 'faves':0.0}
  8.    
  9. for commentfile in 'commentdata_askme.txt', 'commentdata_mefi.txt', 'commentdata_meta.txt', 'commentdata_music.txt':
  10.     f = open(commentfile)
  11.     next(f)
  12.     next(f)
  13.     for line in f:
  14.         commentid, postid, userid, datestamp, faves, bestanswer = line.strip().split('\t')
  15.         try:
  16.             users[userid]['items'] += 1
  17.             users[userid]['faves'] += int(faves)
  18.         except KeyError:
  19.             pass
  20.  
  21.        
  22. for postfile in 'postdata_askme.txt', 'postdata_mefi.txt', 'postdata_meta.txt', 'postdata_music.txt':
  23.     f = open(postfile)
  24.     next(f)
  25.     next(f)
  26.     for line in f:
  27.         try:
  28.             postid, userid, datestamp, category, comments, favorites, deleted, reason = line.strip().split('\t')
  29.         except ValueError:
  30.             continue
  31.         try:
  32.             users[userid]['items'] += 1
  33.             users[userid]['faves'] += int(favorites)
  34.         except KeyError:
  35.             pass
  36.  
  37. results = []
  38. for key, value in users.items():
  39.     if value['items']:
  40.         results.append([int((value['faves']**2)/value['items']), value['name'], key])
  41.  
  42. results.sort()
  43. results
  44. max_faves = results[-1][0]*1.0
  45. for i in reversed(results[-100:]):
  46.     faves, name, key = i
  47.      print "%.6f\t%s (%s)" % (faves/max_faves, name, key)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement