我试图在文本文件中找到所有出现的字符串,其中每个字符串都位于文件的新行中。
例如,示例文件可能如下所示:
jump start
jump go
feet start
jump go
所有琴弦的目标总数为1,除了"跳转"会有2
到目前为止,我已成功使用此代码查找单个字数:
import re
import collections
with open('file.txt') as f:
text = f.read()
words = re.findall(r'\w+',text)
counts = collections.Counter(words)
print(counts)
但是,这只输出如下:jump = 3,start = 2,go = 2,feet = 1
不确定这是否重要,但文件中的行数约为500万,大约有12,000个独立字符串。
感谢您的帮助!
答案 0 :(得分:2)
我让这个工作:
import collections
lines = [line.strip() for line in open('results.txt')]
counts = collections.Counter(lines)
print counts
输出:
['Sam', 'sam', 'johm go', 'johm go', 'johm for']
Counter({'johm go': 2, 'sam': 1, 'Sam': 1, 'johm for': 1})
答案 1 :(得分:0)
不使用正则表达式,而是将文件读为words=f.readlines()
。您最终会得到与每行对应的字符串列表。然后,从该列表中构建计数器。