Похоже, никто не ответил на "выровненную" часть вашего запроса.Кроме того, неясно, хотите ли вы, чтобы результаты сортировались в алфавитном порядке по имени или точнее по баллам.В первом случае, в алфавитном порядке (в предположении Python 2.6):
with open("scores1.txt", 'r') as scoresFile:
names_scores = [[x.strip() for x in l.split(',', 1)] for l in scoresFile]
# compute column widths
name_width = max(len(name) for name, score in names_scores)
score_width = max(len(score) for name, score in names_scores)
# sort and print
names_scores.sort()
for name, score in names_scores:
print "%*s %*s" % (name_width, name, score_width, score)
Если вы хотите убывать по убыванию, просто измените строку names_scores.sort()
на две:
def getscore_int(name_score): return int(name_score[1])
names_scores.sort(key=getscore_int, reverse=True)