我有一个巨大的文本数据,我需要创建它的词云。我使用一个名为word_cloud的Python库来创建单词云,它是非常可配置的。问题是我的文本数据真的很大,所以一台高端计算机即使很长时间也无法完成任务。
数据首先存储在MongoDB中。由于在将数据读取到Python list时出现了Cursor问题,我将整个数据导出到了一个纯文本文件--一个简单的txt文件,它是304 MB。
所以我正在寻找答案的问题是,我如何处理这些巨大的文本数据?word_cloud库需要一个String参数,该参数包含用' '分隔的整个数据,以便创建Word Cloud。
附注:Python版本:3.7.1
附注:word_cloud是一个针对Python的开源Word Cloud生成器,可在GitHub:https://github.com/amueller/word_cloud上找到
发布于 2019-04-26 22:29:26
你不需要在内存中加载所有的文件。
from wordcloud import WordCloud
from collections import Counter
wc = WordCloud()
counts_all = Counter()
with open('path/to/file.txt', 'r') as f:
for line in f: # Here you can also use the Cursor
counts_line = wc.process_text(line)
counts_all.update(counts_line)
wc.generate_from_frequencies(counts_all)
wc.to_file('/tmp/wc.png')https://stackoverflow.com/questions/55868784
复制相似问题