Python 字数问题
我想从包含以下数据的文本文件中计算单词数:Python 字数问题,python,Python,我想从包含以下数据的文本文件中计算单词数: ROK : ROK/(NN) New : New/(SV) releases, : releases/(NN) + ,/(SY) week : week/(EP) last : last/(JO) compared : compare/(VV) + -ed/(EM) year : year/(DT) releases : releases/(NN) 像/(NN),/(SV)和/(EP)这
ROK :
ROK/(NN)
New :
New/(SV)
releases, :
releases/(NN) + ,/(SY)
week :
week/(EP)
last :
last/(JO)
compared :
compare/(VV) + -ed/(EM)
year :
year/(DT)
releases :
releases/(NN)
像/(NN),/(SV)和/(EP)这样的表达式被视为类别。
我想在每一个类别之前提取单词,并计算整个文本中有多少单词
我想在一个新的文本文件中写入一个结果,如下所示:
(NN)
releases 2
ROK 1
(SY)
New 1
, 1
(EP)
week 1
(JO)
last 1
......
请帮帮我
这是我的车库代码;它不起作用
import os, sys
import re
wordset = {}
for line in open('E:\\mach.txt', 'r'):
if '/(' in line:
word = re.findall(r'(\w)/\(', line)
print word
if word not in wordset: wordset[word]=1
else: wordset[word]+=1
f = open('result.txt', 'w')
for word in wordset:
print>> f, word, wordset[word]
f.close()
不客气(=
如果您还想计算奇怪的“-ed”或“,”,请调整regexp以匹配除空格以外的任何字符:
REGEXP = re.compile(r'([^\s]+)/(\(.*?\))')
您正在尝试使用列表(yes word是列表)作为索引。以下是您应该执行的操作:
import re
wordset = {}
for line in open('testdata.txt', 'r'):
if '/(' in line:
words = re.findall(r'(\w)/\(', line)
print words
for word in words:
if word not in wordset:
wordset[word]=1
else:
wordset[word]+=1
f = open('result.txt', 'w')
for word in wordset:
print>> f, word, wordset[word]
f.close()
你很幸运,我想学习python,否则我就不会尝试你的代码了。下次发布你遇到的错误!我打赌是的
TypeError:不可损坏的类型:“列表”
如果你想得到好的答案,帮助我们是很重要的!这段代码显示了很好的性能!但实际上我想解析韩语单词。在这种情况下,这段代码工作不好。你有什么想法吗?哦……刚刚找到你的评论。你还需要帮助吗?
import re
wordset = {}
for line in open('testdata.txt', 'r'):
if '/(' in line:
words = re.findall(r'(\w)/\(', line)
print words
for word in words:
if word not in wordset:
wordset[word]=1
else:
wordset[word]+=1
f = open('result.txt', 'w')
for word in wordset:
print>> f, word, wordset[word]
f.close()