使用Python将《青花瓷》歌词生成词云图

哈喽大家好,因为上次有小伙伴问我,歌曲的歌词和评论怎么生成词云图,想买代码…

当时我就拒绝了,直接免费送给了他。

所以今天来分享给大家

我们以周董的《青花瓷》为例,要对《青花瓷》歌词生成词云图,需要采取以下步骤:

  1. 安装所需的库

要完成该任务,需要安装 jiebawordcloud 库。可以在命令行下输入以下代码进行安装:

pip install jieba wordcloud
  1. 获取歌词数据

将周杰伦《青花瓷》歌词数据保存为文本文件,并将其读取到 Python 程序中。可以使用 Python 的文件操作等方法获得文本文件数据,例如:

with open('qhc.txt', 'r', encoding='utf-8') as f:
    lyrics = f.read()
  1. 分词

使用 jieba 库进行中文分词,将歌词文本数据分解为一个个单词,统计每个单词的词频。

import jieba

lyrics = jieba.cut(lyrics)
word_freq = {}
for word in lyrics:
    if len(word) > 1:
        word_freq[word] = word_freq.get(word, 0) + 1
  1. 生成词云

使用 wordcloud 库生成词云图并将其保存到本地。

from wordcloud import WordCloud
import matplotlib.pyplot as plt

wc = WordCloud(background_color='white', width=800, height=600)
wc.generate_from_frequencies(word_freq)
plt.imshow(wc)
plt.axis('off')
plt.show()

# 将生成的词云保存为图片文件
wc.to_file('qhc_wordcloud.png')

完整代码如下所示:

import jieba
from wordcloud import WordCloud
import matplotlib.pyplot as plt

# 读取歌词
with open('qhc.txt', 'r', encoding='utf-8') as f:
    lyrics = f.read()

# 分词并计算词频
lyrics = jieba.cut(lyrics)
word_freq = {}
for word in lyrics:
    if len(word) > 1:
        word_freq[word] = word_freq.get(word, 0) + 1

# 生成词云并展示
wc = WordCloud(background_color='white', font_path='msyh', width=800, height=600)
wc.generate_from_frequencies(word_freq)
plt.imshow(wc)
plt.axis('off')
plt.show()

# 将生成的词云保存为图片文件
wc.to_file('qhc_wordcloud.png')

运行该代码后,会生成包含《青花瓷》歌词词云图的图片并保存到本地。需要注意的是,由于分词的准确性和歌词长度等因素的影响,该词云图可能需要经过调整和优化。

效果展示

使用Python将《青花瓷》歌词生成词云图_第1张图片

对于想学好Python的小伙伴,我还准备了

Python软件工具+数百本Python电子书+Python基础教程+Python实战教程
直接在文末名片自取

使用Python将《青花瓷》歌词生成词云图_第2张图片
使用Python将《青花瓷》歌词生成词云图_第3张图片
使用Python将《青花瓷》歌词生成词云图_第4张图片
使用Python将《青花瓷》歌词生成词云图_第5张图片
使用Python将《青花瓷》歌词生成词云图_第6张图片
使用Python将《青花瓷》歌词生成词云图_第7张图片
图片不能发多了,仅做展示。

好了今天的分享就到这结束了,下次见!

你可能感兴趣的:(python,python,开发语言)