Я пытаюсь сделать облако слов из текстового файла с помощью этого кода:
import numpy as np
import matplotlib.pyplot as plt
from PIL import Image
from wordcloud import WordCloud, STOPWORDS
from IPython.display import Image as im
file = open("T.txt", encoding='utf-8')
FR = file.read()
raw_file = []
for line in FR:
raw_file.append(line['text'])
words = raw_file.split(" ")
words = [w for w in words if len(w) > 2]
words = [w.lower() for w in words]
words = [w for w in words if w not in STOPWORDS]
word_list = (words)
word_counter = {}
for word in word_list:
if word in word_counter:
word_counter[word] += 1
else:
word_counter[word] = 1
popular_words = sorted(word_counter, key = word_counter.get, reverse = True)
topp = popular_words
topp.remove('https')
mask = np.array(Image.open('/Users/x/Downloads/B.png'))
wc = WordCloud(background_color="black", max_words=2000, mask=mask)
clean_string = ','.join(topp)
wc.generate(clean_string)
plt.imshow(wc, interpolation='bilinear')
plt.title("Title", size=40)
plt.axis("off")
plt.show()
Как и в заголовке, он выдает ошибку: строковые индексы должны быть целыми числами в raw_file.append (строка ['текст']). Я пробовал несколько разных способов заставить его работать, но это не помогло, поэтому я прошу здесь о помощи.
Заранее спасибо.