반응형

텍스트 문서에 나온 단어 숫자 출력하는 파이썬 예제

 

글. 오상문 (sualchi@daum.net)


텍스트 파일 이름을 입력 받은 후, 텍스트 파일에 존재하는 단어와 개수를 출력하는 파이썬 예제입니다. 
파이썬 3 예제이므로 파이썬 2에서 사용할 분은 두 곳을 수정하셔야 합니다. 

input("Enter the text filename: ")   --> raw_input("Enter the text filename: ")
print(word, count)   -->   print word, count 

테스트할 텍스트 파일은 메모장에서 만들 거나(저장 시 ansi 코드로 저장), 
아래 파이썬 소스 파일명 wordcount.py을 입력해도 됩니다. 

# wordcount.py
# python v3.x

name = input("Enter the text filename: ")
f = open(name, 'r')
text = f.read()
words = text.split()
word_counts = dict()

 

for word in words:
    word_counts[word] = word_counts.get(word, 0) + 1    # 단어의 카운트 증가

for word, count in word_counts.items():
    print(word, count)


  f.read()를 이용하여 읽은 텍스트 파일 내용을 text 리스트에 저장합니다.
  단어별로 구분하기 위해 text.split() 메소드(함수)를 이용합니다. 
  단어와 개수를 저장하기 위한 word_counts 사전을 생성하고 (word_counts = dict();)

 

  for 문으로 각 단어 개수를 계산합니다. 
  get(word, 0)에서 0은 해당 단어 키가 존재하지 않으면 기본으로 0을 돌려줍니다. 
  만약 존재하면 값이 1씩 증가되므로 각 단어를 카운트합니다.

  두 번째 for 문은 word_counts의 아이템 리스트에 있는 단어와 개수를 출력하는 내용입니다. 

<이상>

 

반응형

+ Recent posts