python-使用正则快速解析QQ群聊记录

使用正则表达式,对QQ群聊天记录进行解析,用于分析日期、成员等维度发言情况。

原始文本是
2014-03-28 15:04:25 №┽◎Eagle(369029696)

解析之后
yyyy=2014
mm = 03
dd = 28
hh = 15
mi  =04
ss = 25
nick = №┽◎Eagle
qq = 369029696

 

 

代码如下

# -*- coding: utf-8 -*-  
""" 
 zhangbo2012
 http://www.cnblogs.com/zhangbo2012/
"""
import re

def resolving_by_user(filepath):
    with open(filepath,'r') as rf:
        filecontent = rf.read()

    resolving_result={}

    #2014-03-28 15:04:25 №┽◎Eagle(369029696)
    p = re.compile(r'(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2}) (.*)\((.*?)\)\n')
    for [yyyy,mm,dd,hh,mi,ss,nick,qq] in p.findall(filecontent):
        if qq in resolving_result.keys():
            temps = resolving_result[qq]
            temps["qq"]=qq
            temps["nick"]=nick
            temps["worldcnt"]+=1
            resolving_result[qq]=temps
        else:
            resolving_result[qq] ={"qq":qq,"nick":nick,"worldcnt":1}

    for value in resolving_result.values():
        print str.rjust(repr(value['qq']),15)+str.rjust(repr(value['worldcnt']),10)

if __name__=='__main__':
    resolving_by_user("2.txt")
 

转载于:https://www.cnblogs.com/zhangbo2012/p/3700699.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值