用python做些有意思的事——分析QQ聊天记录(补充)

    之前,写了这篇文章,用python提取全部群成员的发言时间,并简单做了下分析。先补充一下,针对特定单个群成员(这里以  小小白   为例)消息记录的获取。

代码比较简单,主要是正则表达式的书写。(附:聊天文件记录的导出请参考上面提到的文章)

    代码如下:

#2016/9/14
#从QQ聊天数据导出特定人发言的日期时间和发言内容

import re
import xlsxwriter

# 小小白   这里代指你要获取数据的对象的昵称
# 方便起见,见数据导出的文件名也明明为此
workbook = xlsxwriter.Workbook(‘小小白.xlsx‘)
worksheet = workbook.add_worksheet()
worksheet.set_column(‘A:A‘, 5)
worksheet.set_column(‘B:B‘, 10)
worksheet.set_column(‘C:C‘, 200)

with open(‘高等数学.txt‘,encoding=‘utf-8‘) as f:
    s = f.read()
    # 正则,跨行匹配
    pa = re.compile(r‘^(\d{4}-\d{2}-\d{2}) (\d{2}:\d{2}:\d{2}) 小小白\(小小白的QQ号\)\n(.*?)\n$‘,re.DOTALL+re.MULTILINE)
    ma = re.findall(pa,s)
    # print(len(ma))
    for i in range(len(ma)):
        # print(ma[i][0])
        date = ma[i][0]
        time = ma[i][1]
        word = ma[i][2]

        worksheet.write(int(i),0,date)
        worksheet.write(int(i),1,time)
        worksheet.write(int(i),2,word)

    workbook.close()
    print("处理完毕,快去看看文件夹下面新建的.xlsx文件吧")
时间: 2024-12-17 17:33:18

用python做些有意思的事——分析QQ聊天记录(补充)的相关文章

用python做些有意思的事——分析QQ聊天记录

是这样的,有位学姐呢初学python ,问我怎么处理QQ聊天记录,当时就说了用正则,也没去写,现在闲着(被ajax虐哭...先放一放)就来简单写一下. 目标,统计近一个月来,QQ群在一天24个时间段的发言量. Step1:获取QQ聊天记录 这个简单无脑了...直接导出消息记录即可.详情参考这里.导出时,记得要保存为txt格式,并和python文件放到同一文件夹下(只是为了方便). Step2:开始撸码 环境:python3+pycharm+xlsxwriter 上代码: import re im

笔记(用Python做些事情)--变量(字典)

模式Key-Value:dict={‘xiaoming':90,'xiaohaong':80,'xiaomao':60,'xiaoli':54}: 使用构造函数建立字典dict(元组)/dict(a=1,b=2,c=3),zip将两个相同长度的list生成字典dict(zip(listA,listB)):  //zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表.具体查看:Python的zip函数 常用操作:keys,values,get,update,del,clea

笔记(用Python做些事情)--变量(数字、字符串)

Python是动态类型,可以用type()查看类型: Python一切皆对象(对象是类的实例化,三个主要概念封装,继承,多态): //:整除符号: decimal类型:高精度的数字类型,但效率不高: 数字类型常用的函数:import math math.pi:π math.sqrt(80):开平方根 math.log10(2**1000):log以10为底 math.pow(x,y):x的y次方 math.factoria(x):阶乘 数字类型常用的函数:import random random

笔记(用Python做些事情)--变量(列表、元组)

列表:切片,索引,引用 生成列表:a=[1,2,3] 引用:a_ref=a,和a指向同一个地址 列表常用的操作:copy操作 b=a[:] a.append(3):在列表a后面加一个元素 a.insert(1, 20):将20插到列表a的1的位置上 a.pop():把列表的最后个元素弹出来 a.sort():对列表排序 a.reverse():对列表反排序 del a[1]:把列表的第一个元素删除掉 嵌套,多种类型并存到一个列表,比如c=[1,2,'123','abc'] a.count(x):

笔记(用Python做些事情)--变量(日期和时间)

一个是datetime:日期:Datetime.date.today() 日期和时间:datetime.datetime.now() 1000天之后是哪一天:datatime.timedelta(days=1) 打印格式的问题:Isoformat(),strftime('%m/%d/%Y') 字符串转换:strptime() 一个是time:Datetime.time(12,11,30) Time.time() #实际时间 Time.clock() #cpu时间 Time.sleep() #以秒

Python能做些什么及我的Python学习疑问

1.Python能做些什么? ①能用编程代码自己做网站; ②能做网络游戏的后台; ③... 2.Python学到现在,还存在疑惑的地方. ①对代码中英文名词的应用还不太熟悉; ②对运用函数解决编程问题还不太熟悉; ③觉得老师上课进程太快,接受知识的速度跟不上; ④... 学号后三位:007 姓名最后一个字:怡

量化资料学习《Python与量化投资从基础到实战》+《量化交易之路用Python做股票量化分析》+《组织与管理研究的实证方法第2版》

我们需要利用Python进行数据分析的指南,有大量的关于数据处理分析的应用,重点学习如何高效地利用Python解决投资策略问题,推荐学习<Python与量化投资从基础到实战>等电子资料. 学习<Python与量化投资从基础到实战>电子书,主要讲解如何利用Python进行量化投资,包括对数据的获取.整理.分析挖掘.信号构建.策略构建.回测.策略分析等.<Python与量化投资>利用Python进行数据分析的指南,有大量的关于数据处理分析的应用,并将重点介绍如何高效地利用P

用python做网页抓取与解析入门笔记[zz]

(from http://chentingpc.me/article/?id=961) 事情的起因是,我做survey的时候搜到了这两本书:Computational Social Network Analysis和Computational Social Network,感觉都蛮不错的,想下载下来看看,但是点开网页发现这个只能分章节下载,晕,我可没时间一章一章下载,想起了迅雷的下载全部链接,试试看,果真可以把他们一网打尽,但是,sadly,迅雷下载的时候,文件名没办法跟章节名对应起来,晕,我可

找一帮有趣的人,做一些有趣的事

想在这个领域里特别的擅长,走通特别多的细节,达到一种自己满意的程度.可是回想一下,虽然每次都会绕回来,总的,在这个上边用的时间还并不是那么长.也就是说,并不是那么确定自己可以做的远. 这件事我并不排斥.而且还有觉得有趣的部分.就是内容太繁琐了,我走的路也不容易见到光.出来培训机构去工作的,大概也并没有多少时间再去探索,那些框架很严重阻碍了人的继续学习.能撑下来的话就会学会吧,还是没有太多余力去思考的样子.所以在这方面的进步,在工作或不在工作,进度都差不多. 毕竟涉及的面比较广,做软件总要懂一些需