(1)从键盘输入文件名 (2)读取文件中内容 (3)统计文件中英文单词的个数 (4)将词频数据降序排列,并写入zp.csv文件中,行与行之间无空行。
时间: 2024-12-20 15:19:41 浏览: 3
中文词频统计_lostxv3_中文词频统计_
5星 · 资源好评率100%
(1) 要从键盘输入文件名,通常在程序中会提示用户通过标准输入(例如 `input()` 函数)输入文件路径。示例代码可能会像这样:
```python
filename = input("请输入文件名: ")
```
(2) 读取文件的内容可以使用 Python 的内置模块 `open` 和 `read()`,如下所示:
```python
with open(filename, 'r') as file:
content = file.read()
```
(3) 统计文件中英文单词的个数,我们可以先清洗文本(去除标点、换行符等),然后分割成单词列表,最后计算长度减去停用词的数量。这里假设我们已经有一个英文停用词列表:
```python
import re
def count_english_words(content):
words = re.findall(r'\b\w+\b', content.lower())
word_list = [word for word in words if word.isalpha()]
return len(word_list)
word_count = count_english_words(content)
```
(4) 将词频数据降序排列并写入CSV文件,可以使用 `collections.Counter` 来计算词频,然后 `pandas` 库来处理数据和写入文件,注意关闭文件流:
```python
from collections import Counter
import pandas as pd
counter = Counter(word_list)
df = pd.DataFrame.from_dict(counter, orient='index').reset_index()
df.columns = ['Word', 'Frequency']
df.sort_values('Frequency', ascending=False, inplace=True)
# 检查是否有重复行
if df.duplicated().any():
df.drop_duplicates(inplace=True)
df.to_csv('zp.csv', index=False, header=True, line_terminator='\n')
```
阅读全文