스파르타코딩클럽 이벤트참여 3일차

CH_Hwang·2021년 9월 11일
0
post-thumbnail

스파르타코딩클럽 이벤트참여 마지막 수업, 워드클라우드 만들기였다.

모듈은 wordcloud, PIL, numpy 모듈을 사용했고,

카카오톡에서 대화내용 내보내기를 통해 txt파일을 만든 후 그 파일에서 '] [' 를 걸러내서 대화내용만 추려냈다.
그 후 필요없는 내용들은 split과 replace를 통해서 걸러냈고 워드클라우드를 만들었다.

처음에 워드클라우드를 만들 때 계속 한글이 깨져서 검색해봤더니 내가 선택한 폰트가 한글을 지원하는 폰트가 아니어서 깨졌었던 것 같다. 그래서 맑은고딕을 선택해서 한글이 제대로 나왔다.

생각보다 워드클라우드 코딩은 간단했다. 내가 원하는 택스트파일과 원하는 폰트만 지정해준다면 기본 코드에서 벗어나는것이 없었기 때문이다. 여기서 또 뭔가 가공을 하게 된다면 그부분이 어려울 것 같지만 기본적인 코드는 그렇게 어렵지 않았다.

코드는 아래와 같다.

from wordcloud import WordCloud
from PIL import Image
import numpy as np

text=""
with open("KakaoTalk.txt", "r", encoding="utf-8") as f:
    lines = f.readlines()
    for line in lines[2:]:
        if '] [' in line:
            text+=line.split('] ')[2].replace('ㅠ','').replace('전','').replace("ㅋ",'').replace('저는','').replace('저도','').replace('ㅎ','').replace('이모티콘\n','').replace('사진\n','')


mask = np.array(Image.open('cloud.png'))
wc = WordCloud(font_path='C:/Windows/Fonts/malgunsl.ttf', background_color="white", mask=mask)
wc.generate(text)
wc.to_file("result_masked.png")

0개의 댓글