适用于MAC OS的聊天记录的词云制作python

1、https://download.csdn.net/download/qq_41635763/13489415或者在官网里下载wordcloud的whl文件,根据python版本下载,cp37m就是python3.7的版本

2、iphone的聊天记录通过爱思助手导出,在爱思助手里面找到QQ.db之后,使用可以打开sqllite数据库的软件打开,推荐使用navicat,打开过后根据qq号即可找到对应的聊天消息

3、导出表为csv或者txt文件

4、编写python

import imageio
import jieba
import csv
import collections
from wordcloud import WordCloud
import re
import jieba.analyse

CSV_FILE_PATH="./tb_c2cMsg_xxxxxx.csv"
STOP_WORDS_FILE_PATH="./xxxxx.txt"
def read_csv_to_dict(index) -> dict:
    #编码可看导出的时候所选择的编码 utf-8/GB18030
    with open(CSV_FILE_PATH, 'r', encoding='GB18030') as csvfile:
        reader = csv.reader(csvfile)
        column=[]
        result=''
        for columns in reader:
            # 排除一些特殊的字符
            if re.findall(r'<(.*)>(.*)',columns[index]) or re.findall(r'http(.*)',columns[index]):
                result=result
            else:
                column+=jieba.lcut(columns[index])
        return column
def analysis_sina_content():
    # 读取内容列
    words = read_csv_to_dict(1)
    word_list=' '
    word_dict={}
    excludes =[]
    #如果使用停用词可以考虑下面的方法
    # excludes=["img","url","cn","encoding","UTF","id","通话","一个","然后","流泪","不是","没有","可以","干嘛","这个","我们","明天","回去","现在","什么","知道","就是","那个","今天","刚刚"]
    # fp=open(STOP_WORDS_FILE_PATH,'r',encoding="gb18030")
    # reader=fp.read();
    # for word in reader:
    #     excludes.append(word)
    # fp.close()
    for word in words:
        # 数据清洗,去掉无效词
        if word not in excludes and len(word)>1 and len(word)<6:
            word_list = word_list + ' ' + word
            if (word_dict.get(word)):
                word_dict[word] = word_dict[word] + 1
            else:
                word_dict[word] = 1
            # print(word)
    sort_words = sorted(word_dict.items(), key=lambda x: x[1], reverse=True)
    print(sort_words[0:101])  # 输出前0-100的词
    #文字可以图片的形式出现
    color_mask = imageio.imread("1.png")
    wordcloud = WordCloud(
        background_color='white',font_path='/Library/Fonts/Arial Unicode.ttf', width=1000,height=600,collocations=False,mask=color_mask
    ).generate(word_list)#generate_from_frequencies(sort_words)

    image_1 = wordcloud.to_image()
    #报错到文件中
    wordcloud.to_file("xxxxx.png")
    image_1.show()
analysis_sina_content()

1.png
在这里插入图片描述
结果:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,如果你想用Python生成聊天记录词云中的"生日快乐",你可以按照以下步骤进行操作: 1. 准备:确保你已经安装了相应的Python依赖。 2. 根据提供的引用[3]中的命令行指令格式,输入以下命令:python birthday.py 图片位置 对象姓名。 例如,如果你想生成词云图片的位置是 "C:\Users\Username\Desktop\chat.png",并且你要祝福的对象姓名是"张三",你可以输入以下命令:python birthday.py "C:\Users\Username\Desktop\chat.png" 张三。 3. 执行以上命令后,程序将会生成一个以你输入的图片位置命名的词云图片,其中包含了聊天记录中的"生日快乐"。 注意:你需要确保在执行命令前将图片位置和对象姓名替换成你自己的实际值。 希望这个回答能够满足你的需求!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Python 一键生成漂亮的生日快乐词云!](https://blog.csdn.net/u010751000/article/details/106964345)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [【Python】程序员也可以很会撩:如何一键生成漂亮的生日快乐词云](https://blog.csdn.net/liaozp88/article/details/129790129)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值