一、实验环境

(1)Windows操作系统;
(2)PyCharm 2019.1。
(3)数据库用户名为 root,密码为 123456.
(4)  学校机房电脑,带有mysql

二、获取数据库信息

(1)在电脑的搜索框中搜索mysql,打开MySQL 5.7Command Client(推荐)

如果没有MySQL 5.7Command Client,可以使用MySQL Shell(需要输入一些命令后使用,不推荐)

操作步骤:输入\connect root@localhost 连接mysql。 root是用户名,@后面接数据库ip地址,localhost等于127.0.0.1,为本机ip。回车后输入密码  123456

连接成功后输入"\sql" 进入sql命令模式,之后就能正常使用所有mysql 语法了。

\connect root@localhost:3306

(2)接下来继续介绍MySQL 5.7Command Client的使用方法。

第一次进入MySQL 5.7Command Client会提示输入密码Enter password,输入123456,即可进入数据库。

(3)然后就可以进行一系列操作,例如显示数据库MySQL命令。

show databases;

这些都是电脑中已有的数据库。

(4)创建数据库就是在数据库系统中划分一块空间存储数据,我们创建一个叫db1的新数据库,MySQL命令为:

create database db1;

可以看到新的数据库已加入到数据库列表中。

如果你不想要这个数据库,可以使用MySQL命令删除数据库db1。

drop database db1;

(5)进入某个数据库(例如db1,这是已经创建好的数据库)

use db1;

查看该数据库下的所有tables.

show tables;

因为还没有添加数据,因此是空的。第三节介绍如何建表并写入数据

更多数据库操作方法可从以下链接中找到:http://t.csdn.cn/mL0aC

三、用python在MySQL中写入数据和添加数据

(1)打开pycharm,新建一个项目

(2)在该项目下新建一个python文件,命名为123.py:

(3)在该文件下写入代码,pymysql 安装包在终端处用命令 pip install pymysql  导入 , 运行后即可向数据库db1中插入数据

具体代码如下:

import pymysql
conn = pymysql.Connect(host = '127.0.0.1',port = 3306,user = 'root',passwd = '123456',db = 'db1',charset='utf8')
cursor = conn.cursor()
#创建表   插入数据
sql = """CREATE TABLE ID1(序号  int(20),内容  CHAR(20),字数  int(20))"""
cursor.execute(sql)
cursor.executemany("insert into ID1 values(%s,%s,%s)",[(1,'越向往光明',5),(2,'越要默默地扎根于黑暗',10),(3,'不管活到什么岁数',8),(4, '总有太多的思索', 7),(5, '当你犹豫要不要去做一件事的时候', 15),(6, '其实你的内心已经有了选择', 12)])sql = """CREATE TABLE ID2(序号  int(20),内容  CHAR(20),字数  int(20))"""
cursor.execute(sql)
cursor.executemany("insert into ID2 values(%s,%s,%s)",[(1, '一个幸运的前提', 7),(2, '其实是他有能力改变自己', 11),(3, '愿我们终将成为我们想要成为的人', 15),(4,'只要能嗅到彼岸的花香',10),(5,'当你专注自己',6),(6,'外界的机会才会来找你',10)])sql = """CREATE TABLE ID3(序号  int(20),内容  CHAR(20),字数  int(20))"""
cursor.execute(sql)
cursor.executemany("insert into ID3 values(%s,%s,%s)",[(1, '每个人都有自己的坚持', 10),(2, '每个人都有一个觉醒期', 10),(3, '但觉醒期的早晚决定个人命运', 13),(4, '死亡不是失去了生命', 9),(5, '而是走出了时间', 7),(6, '一个人所需要的最重要的品质', 13)])sql = """CREATE TABLE ID4(序号  int(20),内容  CHAR(20),字数  int(20))"""
cursor.execute(sql)
cursor.executemany("insert into ID4 values(%s,%s,%s)",[(1,'越向往光明',5),(2,'越要默默地扎根于黑暗',10),(3,'不管活到什么岁数',8),(4, '总有太多的思索', 7),(5, '当你犹豫要不要去做一件事的时候', 15),(6, '其实你的内心已经有了选择', 12)])sql = """CREATE TABLE ID5(序号  int(20),内容  CHAR(20),字数  int(20))"""
cursor.execute(sql)
cursor.executemany("insert into ID5 values(%s,%s,%s)",[(1,'越向往光明就回归结果',10),(2,'越要默默地扎根于黑暗东方闪电',14),(3,'不管活到什么岁数都不问我',12),(4, '总有太多的思索都发给对方', 12),(5, '当你犹豫要不要去做一件事的时候就回归结果', 20),(6, '其实你的内心已经有了选择还挺大方', 16)])conn.commit()
conn.close()

(4)向数据库db1中添加数据后的表如下所示:

select * from id1;

更多写入数据方法可从以下链接中找到:http://t.csdn.cn/3VJEihttp://t.csdn.cn/mL0aC

四、用python实现语句分词和关键词提取

(1)在同一项目下新建一个python文件,命名为cut_words.py

(2)在该文件下写入代码,jieba 安装包可在终端处用命令  pip install pymysql  导入 ,如果速度很慢,可以多试几次,或者用镜像下载。

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jieba

具体代码如下,其中可以加载自定义词库和停止词,本代码已经注释掉,如果有,可以添加:

import pymysql
import jieba.analyse
# 连接数据库
conn = pymysql.connect(host="localhost",user="root",password="123456",database="db1",charset="utf8mb4"
)
cursor = conn.cursor()# jieba 分词加载自定义词库
# jieba.load_userdict("SogouLabDic.txt")
# jieba.load_userdict("dict_baidu_utf8.txt")
# jieba.load_userdict("dict_pangu.txt")
# jieba.load_userdict("dict_sougou_utf8.txt")
# jieba.load_userdict("dict_tencent_utf8.txt")
# jieba.load_userdict("my_dict.txt")# 载入停止词
# stopwords = {}.fromkeys(
#      [line.rstrip() for line in open('Stopword.txt')])# 从数据库中分别读取 ID1-ID9 的评论信息
for index_news in range(1, 6):# 读取评论数量信息cursor.execute(f"select 序号 from ID{index_news} where 序号=(select max(序号) from ID{index_news})")index = cursor.fetchone()[0]# 读取每条评论for n in range(1, index):cursor.execute(f"select  内容  from ID{index_news} where 序号={n}")result_middle = cursor.fetchone()[0]# 分词并过滤停止词result = []seg = jieba.cut(result_middle)for i in seg:#if i not in stopwords:result.append(i)# 将分好词的评论写入文件data_full.datwith open("data_full.dat", "a+", encoding='utf-8') as fo:fo.write(' '.join(result) + '\n')# 提取关键词并写入文件data_keywords.datkeywords = jieba.analyse.extract_tags(result_middle, topK=30, withWeight=False,allowPOS=('ns', 'nr', 'nt', 'nz', 'nl', 'n', 'vn', 'vd', 'vg', 'v', 'vf', 'a', 'an', 'i'))with open("data_keywords.dat", "a+", encoding='utf-8') as fo:fo.write(' '.join(keywords) + '\n')
# 关闭连接
cursor.close()
conn.close()

(3)运行代码,结果生成两个文件data_full.dat、data_keywords.dat

(4)两个文件data_full.dat、data_keywords.dat 的具体内容如下,分别是分词结果和关键词提取结果,每个文件中有25行数据,分别对应五个表中的五个id。

py文件和dat文件可从以下连接中找到:

https://download.csdn.net/download/qq_40379132/87789449

 最后,如果电脑中没有数据库,我们需要下载,当然,学校机房的电脑不存在这种情况。

1、MySql安装详细教程若电脑未安装MySql

下载安装包:下载网址:MySQL :: MySQL Community Downloads

进入后选择MySQL community Server,直接下载第一个

解压安装包,编写MySQL配置文件,在解压目录下新建my.ini文件,将下面文本拷贝进my.ini文件中,注意更改路径。

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录   ----------是你的文件路径-------------
basedir=D:\LenovoQMDownload\mysql-8.0.33-winx64\mysql-8.0.33-winx64
# 设置mysql数据库的数据的存放目录  ---------是你的文件路径data文件夹自行创建
#datadir=D:\LenovoQMDownload\mysql-8.0.33-winx64\mysql-8.0.33-winx64
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4

初始化MySQL数据库,以管理员身份打开命令提示符,切换到bin目录下

在MySQL目录下的bin目录下执行命令:mysqld --initialize --console

记下随机密码,安装mysql服务并启动:mysqld --install mysql

输入命令   mysql -uroot -p       输入密码:输入随机密码

修改密码:ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

配置环境变量:

依次打开此电脑->属性->高级系统设置->环境变量

在系统变量中新建

变量名:MYSQL_HOME

变量值:MySQL的目录

2、进入数据库:mysql -u root -p   输入密码123456

接下来的操作和之前一样。

使用python实现微博评论分词与关键词提取(从MySQL数据库中读取数据)相关推荐

  1. python excel模板 生成excel表格_python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图...

    python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图 #coding=utf-8 from openpyxl importload_workbookfro ...

  2. [7] 编写Python脚本将Hive的运算结果保存到MySQL数据库中(1) - 摩西莫西 - ITeye技术网站...

    [7] 编写Python脚本将Hive的运算结果保存到MySQL数据库中(1) - 摩西莫西 - ITeye技术网站 [7] 编写Python脚本将Hive的运算结果保存到MySQL数据库中(1) - ...

  3. python链接mysql 判断是否成功_python连接mysql数据库并读取数据的实现

    1.安装pymysql包 pip install pymysql 注: MySQLdb只支持python2,pymysql支持python3 2.连接数据 import pymysql import ...

  4. mysql source导入_读取MySQL数据库中的数据【Python数据分析百例连载】

    当所需的数据存贮在MySQL数据库中时,那么数据分析首要任务就是要通过Pandas读取MySQL数据.例如,某网站注册用户信息保存在MySQL数据库中,如图所示(部分数据),下面将使用Pandas的r ...

  5. python hive mysql_[7] 编写Python脚本将Hive的运算结果保存到MySQL数据库中(1) - 摩西莫西 - ITeye技术网站...

    编写Python脚本将Hive的运算结果保存到MySQL数据库中(1) 很多情况下,需要将Hive中的运算结果保存到MySQL数据库中,可以通过简单的Python脚本来实现. 例子1:如果获取Hive ...

  6. python用jieba模块分词实现关键词提取

             人工智能大数据与深度学习  公众号: weic2c 每个txt文件夹里面存放一个用户的全部微博数据,在result_all文件里面存放了全部用户的微博数据,这里实现读取每个用户的数据 ...

  7. 用 Python selenium爬取股票新闻并存入mysql数据库中带翻页功能demo可下载

    用 Python selenium爬取实时股票新闻并存入mysql数据库中 1.分析需求 2.创建表 3.分析需要爬取的网页内容 4.python里面selenium进行爬虫操作 1.添加包 2.连接 ...

  8. 中文分词与关键词提取概述

    本文基于题库查重需求实现过程及<NLP自然语言处理原理与实践>学习过程总结得出.定有不足之处,恳请指出. 介绍 中文分词是自然语言处理(NLP)在中文环境下,首要解决的问题.主要难点为中文 ...

  9. 悟空分词与mysql结合_中文分词与关键词提取实践小结

    本文基于题库查重需求实现过程及<NLP自然语言处理原理与实践>学习过程总结得出.定有不足之处,恳请指出. 基本概念 评价指标 一般,中文分词从Precision.Recall.F-scor ...

最新文章

  1. 2021年春季学期-信号与系统-第七次作业参考答案-第十小题
  2. java 平均值_Java岗招聘标准差强人意,薪资比拼,Java程序员表示“我太难了”...
  3. 笔记-信息化与系统集成技术-电子商务系统的结构和要点
  4. HDU 3537 Daizhenyang's Coin
  5. android 制作的精美闹钟
  6. 注册表操作(VC_Win32)
  7. 批量添加PDF帐号目录
  8. 政企多样化发力 社区半径引领智慧社区生态建设
  9. Java内存溢出OOM使用Mat分析
  10. Struts 2 之校验器
  11. 谈谈对内存管理子系统的理解
  12. 《面试补习》--来聊聊削峰填谷!
  13. “L2TP 链接尝试失败,因为安全层不能与远程计算机协商兼容的参数”解决方案
  14. 分段函数的期望和方差_题组25随机变量的分布列、期望与方差、正态分布
  15. 运用matlab求身高质量指数BMI值
  16. 每日一题 笨拙的手指
  17. PowerPoint演示文档大瘦身
  18. On-Demand Resources Guide中文版(按需加载资源--下)
  19. PET不干胶标签发展趋势
  20. 【时间序列】python与时间序列基本教程4(超过1.9万字 代码超过900行 包括49个图)...

热门文章

  1. 如何买到便宜的云服务器
  2. fir300c固件_斐讯路由器漏洞集合(内置账号及隐藏接口)
  3. javascript call callee
  4. 向大佬学习C语言1198: 考试排名(二)(结构体专题)
  5. 一文带你学会使用小程序CMS内容管理
  6. 对数组进行“整体赋值”
  7. android8.1 source build/envsetup.sh分析 增加删除lunch
  8. 如何批量修改多个文件的后缀名?
  9. 加入域时出现“不能访问网络位置”错误信息
  10. Oracle中获取系统当前时间 和 进行时间间隔操作