2013-06-20 6 views
3

CSV 파일 message.csv (처음 세 줄이 아래에 표시됨)이 주어진 곳에서 운동을하고 있는데, 각 보낸 사람의 메시지 수를 세는 프로그램을 작성한 다음에 알파벳 순으로 출력해야합니다. 보내는 사람.사전 순으로 사전을 정렬하는 방법?

보낸 사람, 메시지
"안녕하세요!"
"컴퓨팅은 어렵습니다!"

이것은 내가 지금까지 시도한 것입니다 :

from collections import defaultdict 
import csv 
counting = defaultdict(int) 
for row in csv.reader(open(message.csv)): 
    counting[row[0]] += 1 

내가 계속하는 방법에 갇혔어요.

+3

그 다음과 같은 것을 시도해보십시오 : 각각의 정렬 된 (counting.keys()) : 각각의 수를 각각의 수를 ... –

+0

짐 데니스 감사합니다 ... :) –

답변

0

코드는 각 행의 첫 번째 값이 발신인이지만 사용자가 지정한 .csv 파일의 3 행이이를 준수하지 않는다고 가정합니다. 짐 데니스가 말한대로 다음

sender = None 
for row in csv.reader(open(message.csv)): 
    if len(row) == 2: 
     sender = row[0] 
    counting[sender] += 1 

와,하지만 당신은 명시 적으로) (.keys를 호출해서는 안 :

CSV 파일의 실제 처음 3 개 라인을 바탕으로

, 내가 할 것

for sender in sorted(counting): 
    print sender, counting[sender] 
관련 문제