.假设有一个年度工作报告的文本文件(in.txt)。实现数据统计功能:统计文件中出现次数最多的10个词语,作为主题词,要求词语不少于2个字符。 统计结果写入文件out.txt
时间: 2023-11-22 15:54:27 浏览: 115
好的,这个任务我可以帮您完成。我会使用Python来实现。
首先,我们需要读取in.txt文件中的文本内容并将其转换为字符串变量。可以使用以下代码:
```python
with open('in.txt', 'r') as f:
text = f.read()
```
接下来,我们需要将文本内容中的标点符号和特殊字符去除,并将所有单词转换为小写字母。可以使用正则表达式来实现:
```python
import re
text = re.sub(r'[^\w\s]','',text) # 去除标点符号和特殊字符
text = text.lower() # 将所有单词转换为小写字母
```
然后,我们需要将字符串变量中的单词分割成单词列表。可以使用split()方法来实现:
```python
words = text.split()
```
接下来,我们需要统计每个单词在文本中出现的次数。可以使用Python中的Counter类来实现:
```python
from collections import Counter
word_counts = Counter(words)
```
最后,我们需要从单词计数字典中找出出现次数最多的10个单词,并将它们写入out.txt文件中。可以使用以下代码:
```python
with open('out.txt', 'w') as f:
for word, count in word_counts.most_common(10):
if len(word) >= 2:
f.write(f'{word}\t{count}\n')
```
完整代码如下:
```python
import re
from collections import Counter
with open('in.txt', 'r') as f:
text = f.read()
text = re.sub(r'[^\w\s]','',text)
text = text.lower()
words = text.split()
word_counts = Counter(words)
with open('out.txt', 'w') as f:
for word, count in word_counts.most_common(10):
if len(word) >= 2:
f.write(f'{word}\t{count}\n')
```
请将以上代码保存为一个.py文件,然后将in.txt文件放在同一目录下运行即可。运行完成后,out.txt文件中会包含出现次数最多的10个单词。
阅读全文