Подсчет слов в тексте и группировка по - PullRequest
0 голосов
/ 10 марта 2019

Моя задача состоит в том, чтобы мне написать программу, в которой я создаю таблицу, в которой у меня есть два заголовка:

WORD     ||    FREQUENCY

Все слова должны быть в заголовке WORD. Частота этих слов должна быть под заголовком ЧАСТОТА

Я создал таблицу с заголовками, и все слова находятся под словом заголовка. Моя проблема в подсчете этих слов.

Вот мой код:

newresult = result.split()
myFile = open('table.csv','w') 

with myFile:
 writer = csv.writer(myFile)
 writer.writerow(["WORD","FREQUENCY"])
 for t in newresult:
   writer.writerow({t})

Весь текст сохраняется в новом результате. Теперь я должен посчитать эти слова.

Пример того, как это выглядит сейчас:

WORD                     FREQUENCY

Hello

my 

Name

is

John

Hello

Guys

Я не знаю, как считать эти слова.

1 Ответ

0 голосов
/ 10 марта 2019

Хорошо, вы уже сделали newresult = result.split(), который разбивает строку result на список отдельных слов. Это половина работы прямо там. Теперь нужно просто посчитать каждое слово.

Сначала возьмите просто уникальных слов. Вы можете сделать это, сделав set :

uniques = set(newresult)

Затем выполните итерации по уникальным и посмотрите, сколько раз каждый из них представлен в newresult, используя newresult.count():

...
for word in uniques:
    writer.writerow([word, newresult.count(word)])
...