如何处理大文本数据来创建WordCloud?
How to handle big textual data to create WordCloud?
我有大量的文本数据需要创建它的词云。我正在使用名为 word_cloud
的 Python
库来创建可配置的词云。问题是我的文本数据实在是太大了,高端的电脑长时间也完成不了。
数据首先存储在MongoDB
中。由于 Cursor
在将数据读入 Python list
时出现问题,我将整个数据导出到一个纯文本文件 - 只是一个 txt
文件,即 304 MB
.
所以我正在寻找答案的问题是如何处理这些庞大的文本数据? word_cloud
库需要一个 String
参数,其中包含用 ' '
分隔的整个数据,以便创建 Word Cloud
.
p.s。 Python
版本:3.7.1
p.s。 word_cloud
是 Python
的开源 Word Cloud
生成器,可在 GitHub 上获得:https://github.com/amueller/word_cloud
您不需要加载内存中的所有文件。
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')
我有大量的文本数据需要创建它的词云。我正在使用名为 word_cloud
的 Python
库来创建可配置的词云。问题是我的文本数据实在是太大了,高端的电脑长时间也完成不了。
数据首先存储在MongoDB
中。由于 Cursor
在将数据读入 Python list
时出现问题,我将整个数据导出到一个纯文本文件 - 只是一个 txt
文件,即 304 MB
.
所以我正在寻找答案的问题是如何处理这些庞大的文本数据? word_cloud
库需要一个 String
参数,其中包含用 ' '
分隔的整个数据,以便创建 Word Cloud
.
p.s。 Python
版本:3.7.1
p.s。 word_cloud
是 Python
的开源 Word Cloud
生成器,可在 GitHub 上获得:https://github.com/amueller/word_cloud
您不需要加载内存中的所有文件。
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')