基于python将csv文件词频统计并将结果存入txt文件中
时间: 2024-03-27 15:35:49 浏览: 117
可以使用Python内置的csv和collections模块来进行词频统计,并使用Python内置的文件操作函数将结果存入txt文件中。以下是一个示例代码:
```python
import csv
from collections import Counter
# 读入csv文件
with open('data.csv', 'r') as f:
reader = csv.reader(f)
data = list(reader)
# 将所有单词合并成一个字符串
text = ' '.join([' '.join(row) for row in data])
# 将字符串按空格分割成单词列表
words = text.split()
# 使用Counter统计词频
word_counts = Counter(words)
# 将结果写入txt文件
with open('result.txt', 'w') as f:
for word, count in word_counts.most_common():
f.write('{} {}\n'.format(word, count))
```
其中,`data.csv`是需要统计的csv文件的文件名,`result.txt`是结果存入的txt文件的文件名。这段代码将读入csv文件中的所有单元格,将它们合并成一个字符串,然后按空格分割成单词列表,最后使用Counter统计每个单词出现的次数。然后,将结果写入txt文件中,每一行写入一个单词及其出现次数,用空格分隔。
相关问题
python词频统计结果写入csv,Python中CSV列的词频
好的,我可以为您提供一些代码示例来实现这个功能。
首先,您需要安装 `pandas` 和 `collections` 模块。然后,您可以按照以下步骤进行操作:
1. 读取CSV文件,并将数据存储在 Pandas DataFrame 中。
```python
import pandas as pd
df = pd.read_csv('your_file.csv')
```
2. 将 DataFrame 中的文本数据转换为一个字符串。
```python
text = ' '.join(df['your_column_name'].tolist())
```
3. 将字符串中的单词进行分割,并统计每个单词出现的次数。
```python
from collections import Counter
word_counts = Counter(text.split())
```
4. 将词频统计结果写入一个新的 CSV 文件。
```python
with open('output.csv', 'w') as f:
f.write('word,count\n')
for word, count in word_counts.items():
f.write(f'{word},{count}\n')
```
这样,您就可以将词频统计结果写入 CSV 文件了。请注意,您需要将代码中的 `your_file.csv` 和 `your_column_name` 替换为您自己的文件名和列名。
python词频统计结果写入csv,Python中CSV列的词频图形输出
好的,接下来我来介绍一下如何使用Python中的matplotlib库来将CSV中的词频数据绘制成图形。
假设我们已经有了一个名为`word_count.csv`的csv文件,其中包含了单词和出现次数两列数据。下面是一个示例代码,可以绘制出这些数据的柱状图:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取csv文件
df = pd.read_csv('word_count.csv')
# 绘制柱状图
plt.bar(df['Word'], df['Count'])
plt.xticks(rotation=90)
plt.xlabel('Word')
plt.ylabel('Count')
plt.show()
```
这段代码做了以下几件事情:
1. 使用pandas库中的`read_csv`函数读取名为`word_count.csv`的csv文件,并将其转换为一个DataFrame对象。
2. 使用matplotlib库中的`bar`函数绘制柱状图,其中x轴为单词,y轴为出现次数。我们使用`df['Word']`和`df['Count']`分别获取DataFrame对象中的单词列和出现次数列。
3. 使用`xticks`函数将x轴标签旋转90度,以避免标签重叠。
4. 使用`xlabel`和`ylabel`函数分别设置x轴和y轴的标签。
5. 使用`show`函数显示图形。
希望这个代码能够帮到你!
阅读全文