统计一个txt中每个汉字的出现次数和频率,并以此生成cell类型数据
时间: 2024-02-21 19:02:29 浏览: 15
好的,我可以帮你实现这个功能,需要以下步骤:
1. 读取txt文件内容,并保存为字符串变量。
2. 遍历字符串变量,统计每个汉字的出现次数。
3. 计算每个汉字的出现频率。
4. 将统计结果保存为cell类型数据。
下面是实现这个功能的Python代码示例:
```python
import re
from collections import Counter
# 读取txt文件内容
with open('file.txt', 'r', encoding='utf-8') as f:
content = f.read()
# 统计每个汉字的出现次数
# 使用正则表达式提取汉字
pattern = re.compile('[\u4e00-\u9fa5]')
words = re.findall(pattern, content)
counter = Counter(words)
# 计算每个汉字的出现频率
total_count = sum(counter.values())
freq_dict = {word: count / total_count for word, count in counter.items()}
# 将统计结果保存为cell类型数据
data = [('汉字', '出现次数', '出现频率')]
for word, count in counter.items():
freq = freq_dict[word]
data.append((word, count, freq))
# 打印结果
for row in data:
print('{:<5} {:<5} {:<5}'.format(*row))
```
注意,这段代码假设txt文件中只包含汉字,如果还包含其他字符,还需要进行处理。另外,需要安装`openpyxl`库来保存为Excel文件,可以使用以下命令安装:
```
pip install openpyxl
```
如果你想将结果保存为Excel文件,可以添加以下代码:
```python
from openpyxl import Workbook
# 创建Excel文件并写入数据
wb = Workbook()
ws = wb.active
for row in data:
ws.append(row)
# 保存Excel文件
wb.save('result.xlsx')
```