用python对文件:去的尽管去了,来的尽管来着;去来的中间,又怎样地匆匆呢?早上我起来的时候, 小屋里射进两三方斜斜的太阳。太阳他有脚啊,轻轻悄悄地挪移了;我也茫茫然跟 着旋转。于是——洗手的时候,日子从水盆里过去;吃饭的时候,日子从饭碗里过去; 默默时,便从凝然的双眼前过去。我觉察他去的匆匆了,伸出手遮挽时,他又从遮 挽着的手边过去,天黑时,我躺在床上,他便伶伶俐俐地从我身上跨过,从我脚边 飞去了。等我睁开眼和太阳再见,这算又溜走了一日。我掩着面叹息。但是新来的 日子的影儿又开始在叹息里闪过了。进行词频统计,并提取关键字
时间: 2024-03-21 10:44:00 浏览: 12
好的,让我来为您解答这个问题。
首先,我们需要读取这个文件。可以使用 Python 的内置模块 `io` 中的 `open()` 函数打开文件,读取文件内容并存储在一个字符串变量中。下面是示例代码:
```python
with open("file.txt", "r", encoding="utf-8") as f:
contents = f.read()
```
请将代码中的 `file.txt` 替换为您实际使用的文件名。
接着,我们可以使用 Python 中的 `collections` 模块中的 `Counter` 类来统计词频。这个类可以很方便地统计每个单词出现的次数。下面是示例代码:
```python
import re
from collections import Counter
# 使用正则表达式提取单词
words = re.findall(r'\b\w+\b', contents)
# 使用 Counter 统计词频
word_counts = Counter(words)
```
上面的代码中,我们使用正则表达式 `r'\b\w+\b'` 来匹配单词,`\b` 表示单词的边界,`\w+` 表示一个或多个字母数字字符。
最后,我们可以使用 Python 的 `gensim` 模块中的 `summarization` 子模块来提取关键字。这个子模块提供了一个叫做 `keywords()` 的函数,可以根据 TF-IDF 算法提取文本中的关键字。下面是示例代码:
```python
from gensim.summarization import keywords
# 提取关键字
kw = keywords(contents, ratio=0.2)
# 打印关键字
print(kw)
```
上面的代码中,我们使用 `keywords()` 函数提取文本中的关键字,`ratio=0.2` 表示提取关键字的数量占总单词数的比例为 0.2。
完整代码如下:
```python
import re
from collections import Counter
from gensim.summarization import keywords
# 读取文件
with open("file.txt", "r", encoding="utf-8") as f:
contents = f.read()
# 使用正则表达式提取单词
words = re.findall(r'\b\w+\b', contents)
# 使用 Counter 统计词频
word_counts = Counter(words)
# 打印词频前 10 的单词和它们的出现次数
print(word_counts.most_common(10))
# 提取关键字
kw = keywords(contents, ratio=0.2)
# 打印关键字
print(kw)
```
希望能对您有所帮助!