📅  最后修改于: 2023-12-03 15:21:59.636000             🧑  作者: Mango
在Python中,我们可以用不同的方法从文本文件中获取词汇。这篇文章将介绍一些常见的方法,供程序员参考。
首先,我们需要先打开文件并读取其中的内容。下面是一个简单的示例代码:
filename = 'text.txt'
with open(filename) as f:
text = f.read()
这个代码片段打开名为 text.txt
的文件,并将文件内容读到一个字符串变量 text
中。当然,你可以将文件名替换为你自己的文件名。
接下来,我们需要从读取到的文本中分离出词汇。最常见的方法是使用Python的内置 split 方法。这个方法会使用空格作为分隔符,将字符串分割成单独的单词。
words = text.split()
这样,我们就将文本分成了一个包含所有单词的列表。
我们需要将文本中的标点符号和大写字母去除,并将所有单词转换为小写,以便于我们进行比较和统计词频。可以使用 string 模块中的方法来做到这一点。
import string
# 去除标点符号和转换为小写
words = [word.strip(string.punctuation).lower() for word in words]
这个代码片段使用列表解析表达式,循环遍历 words
列表中的每个单词,并使用 string.punctuation
方法去除每个单词中的标点符号。然后,使用 lower()
方法将单词转换为小写。
最后,我们可以使用 collections 模块中的 Counter 方法来统计每个单词出现的次数,并将结果存储在另一个字典中。
from collections import Counter
# 统计词频
word_counts = Counter(words)
这个代码片段使用 Counter
对象统计每个单词出现的次数,并将结果以字典的形式存储在 word_counts
变量中。
综上所述,我们可以用以下代码获取文本文件中的词汇,并统计每个单词出现的频率:
import string
from collections import Counter
filename = 'text.txt'
with open(filename) as f:
text = f.read()
# 分词
words = text.split()
# 去除标点符号和转换为小写
words = [word.strip(string.punctuation).lower() for word in words]
# 统计词频
word_counts = Counter(words)
print(word_counts)
这个代码片段中涉及到了文件读取,分词,去除标点符号和转换为小写字母,以及统计词频,是Python处理文本数据中常见的操作之一。