【问题标题】:Count words in a Text and group by计算文本中的单词并分组
【发布时间】:2019-03-10 15:49:18
【问题描述】:

我的任务是我必须编写一个程序,在其中创建一个表,其中有两个表头:

WORD     ||    FREQUENCY

所有单词都必须在标题 WORD 下。这些词的频率必须在标题 FREQUENCY 下

我创建了带有标题的表格,所有单词都在标题单词下。我的问题是数这些单词。

这是我的代码:

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

我不知道怎么数这些字。

【问题讨论】:

  • 问题似乎是你根本没有完成那部分
  • 我知道但我不知道如何
  • 有什么想法吗?您尝试过的一些代码可以分享吗?
  • 我已经尝试过使用 count 和 group by 但因为我是 Python 新手,所以我总是收到错误消息。此外,代码必须是通用的,所以我不能在方法计数中写下所有单词以便它可以计算它们
  • 遇到错误真是太好了,你可以从中学习。但是可以发布您以前的尝试和错误消息。这样你会得到更好的答案。

标签: python csv methods group-by count


【解决方案1】:

好的,您已经完成了newresult = result.split(),它将字符串result 拆分为单个单词的列表。这就是那里的一半工作。现在你只需要计算每个单词。

首先,取只是唯一的词。你可以通过set来做到这一点:

uniques = set(newresult)

然后,遍历唯一值并使用newresult.count() 查找每个唯一值在newresult 中表示的次数:

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

【讨论】:

    猜你喜欢
    • 2012-10-31
    • 1970-01-01
    • 1970-01-01
    • 2015-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-04
    • 1970-01-01
    相关资源
    最近更新 更多