前言
最近看到一些利用python制作词云的教程,突然想到用自己和女友的聊天记录做一个词云,看看平时我俩最常说的都是啥,然后用爱心的形状展示出来,以下是成品:
由于导出的记录只有最近两个星期的,再加上这两个星期我女票她都在备考,因此聊天内容并不是特别多,数据可能不是特别有代表性,但至少也能看看了。
数据处理
首先我们从QQ中导出txt格式的聊天记录,并在python中打开
f = open('/Users/aaron/文档/My one and only.txt')
fl = f.readlines()
我们来查看一下数据:
['\ufeff消息记录(此消息记录为文本格式,不支持重新导入)\n',
'\n',
'================================================================\n',
'消息分组:My one and only\n',
'================================================================\n',
'消息对象:xxx\n',
'================================================================\n',
'\n',
'2018-01-12 下午4:00:40 xxx\n',
'好丑操\n',
'\n',
'2018-01-12 下午4:00:49 xxx\n',
'好臭\n',
'\n',
'2018-01-12 下午4:00:50 xxx\n',
'好臭\n',
'\n',
'2018-01-12 下午4:01:27 xxx\n',
'我吃牛肉干\n',
'\n',
可以看出前7行是头信息,下边的数据按照:
- 时间,
- 单句聊天记录,
- ‘\n’
每三行为一组,于是我们首先删去头信息
del fl[:8]
接下来我们只需要从下标为1开始,步长为3的聊天记录的数据:
fl = fl[1::3]
其中 [1::3]
的意思为下标为1开始,步长为3的切片,比如:
>>> a = [0,1,2,3,4,5,6,7,8,9]
>>> a[1::3]
[1, 4, 7]
>>> a[::3]
[0, 3, 6, 9]
>>> a[:5:2]
[0, 2, 4]
之后的数据变为一个全部由聊天记录