Python:从文本语料库中排除数字

时间:2015-05-08 08:24:18

标签: python-3.x text corpus

我想要制作一个从波斯文本文件中提取的独特词汇(带有它们的频率)的语料库。我将文本转换为一个列表,基于该列表我创建了一个唯一令牌列表。我想在将最终列表写入语料库之前排除任何数字标记,所以我写道:

FileObj = open ('TextOfTexts.txt', 'r', encoding = 'UTF8')
CorpObj = open ('MyCorpus.txt', 'w', encoding = 'UTF8')
FOList = FileObj.read().split (' ')
DigiList = re.findall (r'\b[+-]?\d+\b', FileObj.read()) #List of numeral tokens
UniTokens = list (set(FOList))    #List of unique tokens

for UniLex in UniTokens:
    if UniLex not in DigiList: #This if-Block's supposed 2 exclude numbers
        UniCount = FOList.count (UniLex) # Counts frequencies of tokens
        CorpObj.write (UniLex + '\t' + UniCount + '\n')
FileObj.close()
CorpObj.close()

我已经测试了DigiList的内容。 RegEx正确列出了我的主文本文件中存在的所有整数。但是我的文本语料库仍然在其中包含其频率的整数。我究竟做错了什么?如何在进入我的语料库之前删除整数?

P.S .: 我也写了这样的if-Block,但它也没有做我想要的工作:

if UniLex in DigiList:
    continue
else:
    ...

0 个答案:

没有答案