如何从文本文件中删除单词?
我试着做一些文本统计,比如词频、平均词长、平均句长和平均段落长度,我设法做了词频和平均句子和词长。接下来我需要做的是通过删除一些单词来对文本文件进行预处理,"在其他文本文件中列出",然后进行统计。如果有人能告诉我如何做平均段落长度,请。
如有任何帮助,我们不胜感激。
# 回答1
段落的定义是什么?空行?
要从另一个文件中删除单词,我们假设您已经阅读了另一个文件,并将这些单词拆分成一个列表(Remove List)。我们还假设您已经读入了需要统计的文件,并将单词拆分成一个列表(STAT列表)。初始化一个新列表(Keep List),迭代Stat列表,如果某个单词不在删除列表中,则追加到Keep列表。
段落的定义是什么?空行?
要从另一个文件中删除单词,我们假设您已经阅读了另一个文件,并将这些单词拆分成一个列表(Remove List)。我们还假设您已经读入了需要统计的文件,并将单词拆分成一个列表(STAT列表)。初始化一个新列表(Keep List),迭代Stat列表,如果某个单词不在删除列表中,则追加到Keep列表。
选择 | 换行 | 行号
- >>> remove_list = ['a','b','c']
- >>> stat_list = ['a','a','1','x','f','t']
- >>> keep_list = []
- >>> for word in stat_list:
- ... if word not in remove_list:
- ... keep_list.append(word)
- ...
- >>> keep_list
- ['1', 'x', 'f', 't']
- >>>
它也可以用套装来完成。
选择 | 换行 | 行号
- >>> keep_list = list(set(stat_list)-set(remove_list))
- >>> keep_list
- ['1', 'x', 't', 'f']
- >>>
试一试,如果你需要更多帮助,请回帖。
# 回答2
首先,感谢您的快速响应,我做了以下更改:
首先,感谢您的快速响应,我做了以下更改:
选择 | 换行 | 行号
- filename = 'Jay.txt'
- functionWords = 'function_words.txt'
- processedText=[]
- word_list = re.split('\s+', file(filename).read().lower())
- functionWordList = re.split('\s+', file(functionWords).read().lower())
- for word in word_list:
- if word not in functionWordList:
- processedText.append(word)
- # Then I got this error
- Traceback (most recent call last):
- File "F:\Python24\word_count1", line 21, in -toplevel-
- if word not in functionWordList:
- TypeError: iterable argument required
你能帮我弄一下吗?
# 回答3
我把它修好了,但谢谢你的帮助,没有你的帮助我找不到它。现在你知道怎么写这段话了吗?通常,段落之间用换行符分隔。我感谢你的帮助
我把它修好了,但谢谢你的帮助,没有你的帮助我找不到它。现在你知道怎么写这段话了吗?通常,段落之间用换行符分隔。我感谢你的帮助
# 回答4
假设一个段落用空行隔开。一种方法是迭代文件对象,如下所示:
假设一个段落用空行隔开。一种方法是迭代文件对象,如下所示:
选择 | 换行 | 行号
- f = open("filename.txt")
- for line in f:
- ....
去掉该行(字符串方法strie(),去掉空格)。如果该行没有内容,则表示您已到达新的段落。
标签: python