Python——jieba分词并统计词频

1、连接数据库:本文数据库为MySql数据库,利用Python的MySqldb连接;

2、读取数据表evalute_info表中的评论内容;

3、利用jieba对评论内容进行分词,并统计词频;

4、将结果保存为csv文件。

注:两个关键点:

       分词:jieba.cut();词频:Counter(data) (利用collections包的Counter进行词频统计)

# -*- coding: utf-8 -*-

import MySQLdb
import pandas as pd 
import jieba
from collections import Counter 


conn = MySQLdb.connect("192.163.45.519", "asd", "sdhdfh", "srfe", charset='utf8' )
curs = conn.cursor()
sql1='''select content from  evaluate_info''' #sql语句
curs.execute (sql1)
row=curs.fetchall()   #读取数据表内容,返回元祖类型,元祖的每个元素还是为元祖

data=[]
for i in row:
    i=list(i) #将元祖的每个元素转换为列表
    new=str(i[0]) #将列表转换为字符串
    xx = ' '.join(jieba.cut(new)) #每一段字符串进行分词
    yy = xx.split(' ')
    for j in yy:
        data.append(j) #追加写入data列表,得到的数据格式为:a=['我 爱 学习 我 喜欢 北京']

result= dict(Counter(data))
print(result)
dict = pd.DataFrame(pd.Series(result),columns=['num'])
dict = dict.reset_index().rename(columns={'index':'id'})
dict.to_csv('out1.csv',encoding = 'utf-8',header = True)

 

要在Python中使用jieba分词统计词频,然后将结果导出为CSV格式,你可以结合使用jieba库进行分词,collections库进行词频统计,以及csv库进行CSV文件的写入。以下是一个示例: ```python import jieba from collections import Counter import csv # 打开本地文本文件 with open('input.txt', 'r', encoding='utf-8') as file: # 读取文件内容 text = file.read() # 执行分词 seg_list = jieba.cut(text) # 统计词频 word_freq = Counter(seg_list) # 创建一个CSV文件,并写入词频统计结果 with open('output.csv', 'w', newline='', encoding='utf-8') as csvfile: writer = csv.writer(csvfile) writer.writerow(['词语', '词频']) for word, freq in word_freq.items(): writer.writerow([word, freq]) ``` 在这个示例中,我们使用`open()`函数打开名为`input.txt`的本地文本文件,并使用`read()`方法读取文件内容到变量`text`中。然后,我们使用jieba库的`cut()`函数对文本进行分词,并使用collections库的Counter类对分词结果进行词频统计。 接下来,我们创建了一个CSV文件,并使用csv.writer对象将词语和词频写入文件中。请注意,代码中的`'input.txt'`是要读取的本地文本文件的路径和名称,而`'output.csv'`是要生成的CSV文件的路径和名称。 运行代码后,将生成一个名为`output.csv`的CSV文件,其中包含词语和对应的词频统计结果。CSV文件中的第一行是列标题,分别为`'词语'`和`'词频'`。每个词语及其对应的词频将占据一行。你可以根据需要修改列名和文件路径。 请确保已经安装了jieba库(可以使用 `pip install jieba` 进行安装),以及collections库和csv库,并导入了所需的模块。同时,确保指定的文件路径是正确的,并且你有权限读取和写入文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值