对上面csv文件中的标题数据进行分词,统计每个词出现的次数,并进行保存到新的CSV文件中
时间: 2024-04-16 15:26:27 浏览: 216
好的,我可以为您提供一个修改后的程序来对数据进行分词,并统计每个词出现的次数,并将结果保存到一个新的CSV文件中。请确保您已经安装了必要的库,如csv和nltk(Natural Language Toolkit)。以下是示例代码:
```python
import csv
from collections import Counter
import nltk
from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize
nltk.download('stopwords')
nltk.download('punkt')
def process_keywords():
with open('cnn_china_keywords.csv', 'r', encoding='utf-8') as csvfile:
reader = csv.reader(csvfile)
next(reader) # 跳过标题行
keywords = [row[0] for row in reader]
# 分词
words = []
stop_words = set(stopwords.words('english')) # 停用词
for keyword in keywords:
tokens = word_tokenize(keyword)
filtered_tokens = [token.lower() for token in tokens if token.isalpha() and token.lower() not in stop_words]
words.extend(filtered_tokens)
# 统计词频
word_counts = Counter(words)
with open('cnn_china_keyword_counts.csv', 'w', newline='', encoding='utf-8') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(['Word', 'Frequency'])
for word, count in word_counts.most_common():
writer.writerow([word, count])
print('Keyword counts successfully saved to cnn_china_keyword_counts.csv')
process_keywords()
```
这个修改后的程序首先读取之前保存的标题数据(cnn_china_keywords.csv),然后使用NLTK库进行分词和词频统计。程序会使用NLTK中的英语停用词来过滤停用词。最后,它将统计结果保存到一个新的CSV文件中(文件名为cnn_china_keyword_counts.csv)。
请注意,程序在运行之前会下载所需的NLTK数据,以确保分词和停用词的功能正常工作。
运行程序后,您将在同一目录下找到生成的新的CSV文件。希望这次能够成功对标题数据进行分词和词频统计!如果您还有其他问题,请随时提问。
阅读全文