这是一个奇怪的,但我发现Stackoverflow社区非常有帮助。我有一个mySQL表,其中包含一个充满解析文本数据的列。我想分析数据并查看单词出现的行数。
ID columnName
1 Car
2 Dog
3 CAR CAR car CAR
从上面的示例中我想要返回的是单词CAR出现在两行中,单词Dog出现在一行中。我并不关心字数和字数出现的行数一样多。问题是我不知道要搜索哪些字。是否有一个工具,或者我可以在python中构建的东西,它会向我显示最常用的单词以及单词出现的行数。 我不知道从哪里开始,如果有人可以帮我解决这个问题会很棒。
答案 0 :(得分:1)
我使用python:
1)设置python以使用mysql(在线加载教程)
2)定义:
from collections import defaultdict
tokenDict = defaultdict(lambda: 0)
前者是一个简单的字典,如果给定的密钥没有值,则返回0(即tokenDict [' i_have_never_used_this_key_before']将返回0)
3)从表中读取每一行,对其进行标记并递增令牌计数
tokens = row.split(' ') //tokenize
tokens = [lower(t) for t in tokens] //lowercase
tokens = set(tokens) //remove duplicates
for token in tokens:
tokenDict[token] = tokenDict[token] + 1