如何从文本文件中删除单词?

我试着做一些文本统计,比如词频、平均词长、平均句长和平均段落长度,我设法做了词频和平均句子和词长。接下来我需要做的是通过删除一些单词来对文本文件进行预处理,"在其他文本文件中列出",然后进行统计。如果有人能告诉我如何做平均段落长度,请。
如有任何帮助,我们不胜感激。

# 回答1


段落的定义是什么?空行?
要从另一个文件中删除单词,我们假设您已经阅读了另一个文件,并将这些单词拆分成一个列表(Remove List)。我们还假设您已经读入了需要统计的文件,并将单词拆分成一个列表(STAT列表)。初始化一个新列表(Keep List),迭代Stat列表,如果某个单词不在删除列表中,则追加到Keep列表。

选择 | 换行 | 行号
  1. >>> remove_list = ['a','b','c']
  2. >>> stat_list = ['a','a','1','x','f','t']
  3. >>> keep_list = []
  4. >>> for word in stat_list:
  5. ...     if word not in remove_list:
  6. ...         keep_list.append(word)
  7. ...         
  8. >>> keep_list
  9. ['1', 'x', 'f', 't']
  10. >>> 

它也可以用套装来完成。

选择 | 换行 | 行号
  1. >>> keep_list = list(set(stat_list)-set(remove_list))
  2. >>> keep_list
  3. ['1', 'x', 't', 'f']
  4. >>> 

试一试,如果你需要更多帮助,请回帖。

# 回答2


首先,感谢您的快速响应,我做了以下更改:

选择 | 换行 | 行号
  1. filename = 'Jay.txt' 
  2. functionWords = 'function_words.txt'
  3. processedText=[]
  4. word_list = re.split('\s+', file(filename).read().lower())
  5. functionWordList = re.split('\s+', file(functionWords).read().lower())
  6.  
  7. for word in word_list:
  8.     if word not in functionWordList:
  9.         processedText.append(word)
  10. # Then I got this error
  11. Traceback (most recent call last):
  12.   File "F:\Python24\word_count1", line 21, in -toplevel-
  13.     if word not in functionWordList:
  14. TypeError: iterable argument required

你能帮我弄一下吗?

# 回答3


我把它修好了,但谢谢你的帮助,没有你的帮助我找不到它。现在你知道怎么写这段话了吗?通常,段落之间用换行符分隔。我感谢你的帮助
# 回答4


假设一个段落用空行隔开。一种方法是迭代文件对象,如下所示:

选择 | 换行 | 行号
  1. f = open("filename.txt")
  2. for line in f:
  3.     ....

去掉该行(字符串方法strie(),去掉空格)。如果该行没有内容,则表示您已到达新的段落。

标签: python

添加新评论