【发布时间】:2013-04-23 21:47:24
【问题描述】:
我正在尝试计算标点符号在小说中出现的次数。例如,我想找到问号和句点以及所有其他非字母数字字符的出现。然后我想将它们插入到 csv 文件中。我不确定如何执行正则表达式,因为我对 python 没有太多经验。有人可以帮我吗?
texts=string.punctuation
counts=dict(Counter(w.lower() for w in re.findall(r"\w+", open(cwd+"/"+book).read())))
writer = csv.writer(open("author.csv", 'a'))
writer.writerow([counts.get(fieldname,0) for fieldname in texts])
【问题讨论】:
-
不要使用正则表达式进行频率计数。只需逐个字符循环并过滤掉字母、数字和空格,然后将其余部分放入字典中进行频率计数。或者另一种方法是替换所有字母、数字和空格,然后循环遍历剩余的字符串(这样更干净)。
-
-
你根本不需要正则表达式,只需在遍历小说时检查字符是否为
instring module's punctuation string
标签: python regex text-mining