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)