从文本文件中删除标点符号,包括&和逗号

时间:2016-08-03 23:52:16

标签: python replace strip

我正在创建一个文本文件中最常用单词的列表。但我不断得到文字和他们的占有版本。像iphone和iphone一样。我还需要在我的结果中删除像iphone和iphone这样的词之后的逗号。我想将这些单词统计为一个实体。 这是我的整个代码。

 1.    40 iphone

 2.    15 users

 3.    12 iphone’s

 4.     9 music

 5.     9 apple

 6.     8 web

 7.     7 new

以下是我的一些结果。

issuperset

非常感谢任何帮助。谢谢

1 个答案:

答案 0 :(得分:0)

您需要说for i in words:而不是for i in d: 您正在替换步骤中迭代空字典,因此没有任何变化。只需删除该循环并将替换步骤移到for w in words:循环的顶部,这样您只需要进行一次循环。

我会这样重做整个部分:

for w in words:
    w = w.replace('.','').replace(',','').replace('\'','').replace("’","")
    d[w] = d.get(w,0) + 1

就像现在一样,你也试图在追加到字典之前拆分i。它已经分裂了。此外,您需要一个键:字典的值。在这一点上给它一个零值?,以后你可以计算没有测试的事件?

使用if w in d:而不是测试.get(),默认值为零(如果找不到w则返回),而不是数百(甚至数千倍),如图所示上方。