如何快速整理微信群聊消息
【1】首先,在微信群聊中统计信息时要以固定的格式输入
如:
A:XX
B:XXX
C:XXX
D:XXXX
E:XXXXX
……
【2】电脑登录微信,用微信扫码登录,记得点击同步最近的消息

【3】将微信群聊消息复制粘贴到后缀txt的文本文件中,并命名为data.txt,data文件的内容如下:

【4】打开Python软件,运行如下代码,即可快速实现将群聊内容整理为Excel文件,方便统计
import chardet
import re
# 检测文件编码格式
with open('data.txt', 'rb') as f:
result = chardet.detect(f.read())
# 打开文件并读取内容
with open('data.txt', 'r', encoding=result['encoding']) as f:
lines = f.readlines()
groups = []
# 将文本数据写入Excel工作表中
for i in range(0,len(lines),5):
group = lines[i:i+5]
groups.append(group)
names = []
ages = []
dates = []
gender1 = []
datas = []
for i in range(0,len(groups)):
name = groups[i][0]
names.append(name)
age = groups[i][1]
ages.append(age)
date = groups[i][2]
dates.append(date)
gender = groups[i][3]
gender1.append(gender)
data = groups[i][4]
datas.append(data)
#提取“age”名称,删除其他符号
for i in range(len(ages)):
ages[i] = re.sub(':', ' ', ages[i])
ages[i] = re.sub(':', ' ', ages[i])
ages[i] = re.sub('\n', ' ', ages[i]) #将数据中元素的换行符‘\n’去掉
ages[i] = ages[i].strip() #将数据中的空格符删除
ages
#提取datas数据
datas1 = []
for item in datas:
# 使用正则表达式匹配数字
num = re.findall(r'\d+\.\d+', item)
if num:
datas1.append(float(num[0]))
#保存文件到Excel中
import pandas as pd
myNews = pd.DataFrame({'日期':dates,'姓名':names, '年龄':ages,'性别':gender1 ,'数据':datas1} )
myNews1 = myNews.T
myNews1.to_excel("excel.xlsx")
【5】运行结果如下所示:
