반응형
카카오톡 PC에서 대화 내용을 내보내기하여 받은 .txt 파일을 분석한다.
추출한 챗 로그 텍스트 파일은 2019년 11월 기준으로 아래처럼 생겼다. 몇 년 전과 달라졌다.
대화방에서 사용자가 출현한 횟수를 기준으로 하기 때문에 글자 수와는 상관이 없다.
아무 글자나 치고 엔터만 눌러대면 1등이다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
# Most Frequent Username
import re
from collections import Counter
words = []
for line in f:
if m:
words = [v for v in words if v]
total = sum(Counter(words).values())
for word, freq in Counter(words).most_common(50):
print("{0:10s} : {1:3d} ({2} %)".format(word, freq, round(freq / total * 100, 2)))
print("{0:10s} : {1:3d} ({2} %)".format('------- 합 계', total, round(total / total * 100, 2)))
|
결과는 아래처럼 [ 이름 : 등장횟수 (백분율, 소수점 둘째자리까지) ] 으로 나온다.
1
2
3
4
5
6
7
|
펭수다 : 5753 (27.31 %)
박재영 : 2482 (10.54 %)
뽀로로 : 2184 (8.49 %)
김 명중 : 1976 (7.13 %)
번개맨 : 1470 (5.04 %)
뚝딱이 : 1449 (4.73 %)
------- 합 계 : 15314 (100.0 %)
|
cs |
+ 2020년 4월 기준, 채팅 내용(메모장 파일)에서 시간 부분이 '[12:51]'에서 '[오전 12:51]' 형식으로 바뀜.
이에 따라 정규표현식을 "^\[(.+\]?)\[\w+.\d\d:\d\d\]\s*.+$" 로 수정해야함
반응형
'빅데이터 > Python' 카테고리의 다른 글
[파이썬] 카카오톡 대화 내용 분석 2: 대화방에서 가장 많이 사용되는 단어 (1) | 2019.11.25 |
---|