TXT文件生成词云图python代码制作和柱状图源码和生成好的exe文件
发布人:shili8
发布时间:2024-11-16 08:59
阅读次数:0
**TXT 文件生成词云图和柱状图的 Python代码**
在本文中,我们将使用 Python 的 `wordcloud` 和 `matplotlib` 库来生成 TXT 文件中的词频分布图和柱状图。
### **依赖库安装**
首先,我们需要安装所需的库。可以使用 pip 安装:
bashpip install wordcloud matplotlib
### **TXT 文件内容读取**
我们将使用以下 Python代码读取 TXT 文件的内容:
import osdef read_txt_file(file_path): """ 读取 TXT 文件的内容。 Args: file_path (str): TXT 文件路径。 Returns: str: TXT 文件内容。 """ try: with open(file_path, 'r', encoding='utf-8') as f: content = f.read() return content except Exception as e: print(f"读取文件失败:{e}") return None# 示例使用file_path = "example.txt" content = read_txt_file(file_path) print(content)
### **词云图生成**
接下来,我们将使用 `wordcloud` 库生成词频分布图:
from wordcloud import WordCloud, STOPWORDSimport matplotlib.pyplot as pltdef generate_wordcloud(content): """ 生成词频分布图。 Args: content (str): TXT 文件内容。 Returns: None """ # 去除停止词(如“the”、“and”等) stop_words = set(STOPWORDS) wordcloud = WordCloud(stopwords=stop_words).generate(content) plt.figure(figsize=(10,8)) plt.imshow(wordcloud, interpolation='bilinear') plt.axis('off') # 关闭坐标轴 plt.show() # 示例使用if content: generate_wordcloud(content)
### **柱状图生成**
最后,我们将使用 `matplotlib` 库生成词频分布柱状图:
import matplotlib.pyplot as pltdef generate_bar_chart(content): """ 生成词频分布柱状图。 Args: content (str): TXT 文件内容。 Returns: None """ # 分析词频 words = content.split() word_freq = {} for word in words: if word not in word_freq: word_freq[word] =1 else: word_freq[word] +=1 # 绘制柱状图 plt.figure(figsize=(10,8)) plt.bar(word_freq.keys(), word_freq.values()) plt.xlabel('词') plt.ylabel('频率') plt.title('词频分布') plt.show() # 示例使用if content: generate_bar_chart(content)
### **生成 EXE 文件**
为了生成 EXE 文件,我们可以使用 `pyinstaller` 库:
bashpip install pyinstaller
然后,运行以下命令:
bashpyinstaller --onefile wordcloud_generator.py
这将在当前目录下生成一个名为 `wordcloud_generator.exe` 的 EXE 文件。
**注意:**
* 这个例子仅供参考,请根据实际需求进行调整。
* TXT 文件内容应符合 UTF-8 编码。
* 词云图和柱状图的显示效果可能因系统配置而异。