python将类似json的数据存储到MySQL中的实例

yipeiwu_com6年前Python基础

由于之前对于爬取下来的数据都是存入MongoDB中,想起来还没有尝试存入MySQL,于是将一篇简单的文章爬取下来,存入MySQL试试

这里用到的python模块是pymysql,因为MySQLdb之前已经停止维护

首先在cmd中连接MySQL并且创建一个数据库json

在图形化界面workbench中可以看到

接下来就要在pycharm中写代码了,在pycharm中导入pymysql后即可

#建立python与MySQL之间的连接
  mysql = pymysql.connect(host="localhost",user="root",passwd="12138",db="json",charset="utf8")
  #新建游标
  cur = mysql.cursor()
  #原生sql语句,创建一个名为jsondata的表,并在其中定义字段
  sqlc = '''
   create table if not exists jsondata(
   typeid int(11) not null auto_increment primary key,
   tagid varchar(20) not null,
   title varchar(100) not null,
   time varchar(20) not null,
   content mediumtext not null)DEFAULT CHARSET=utf8;
   '''
  #执行语句
  a = cur.execute(sqlc)
  #提交任务
  mysql.commit()
  print 'success'
  #sql,插入数据
  sqla = '''
   insert into jsondata(typeid,tagid,title,time,content)values(%s,%s,%s,%s,%s);
  '''
  #这里的data数据为列表,data[0]中存在的字典类型数据
  b = cur.execute(sqla,(data[0]['typeid'],data[0]['tagid'],data[0]['title'],data[0]['time'],data[0]['content']))
  mysql.commit()
  cur.close()
  mysql.close()
  print 'success'

运行之后,先在cmd中看看有什么变化,使用json,并且查看table

再看看表中的数据

这就是之前定义的jsondata表,可是没有看到具体插入的数据

所以接下来看看workbench

可以见到数据成功存储到MySQL中了!

以上这篇python将类似json的数据存储到MySQL中的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

TensorFlow安装及jupyter notebook配置方法

tensorflow利用anaconda在ubuntu下安装方法及jupyter notebook运行目录及远程访问配置 Ubuntu下安装Anaconda bash ~/file_...

对Python random模块打乱数组顺序的实例讲解

对Python random模块打乱数组顺序的实例讲解

在我们使用一些数据的过程中,我们想要打乱数组内数据的顺序但不改变数据本身,可以通过改变索引值来实现,也就是将索引值重新随机排列,然后生成新的数组。功能主要由python中random模块...

Python使用matplotlib和pandas实现的画图操作【经典示例】

Python使用matplotlib和pandas实现的画图操作【经典示例】

本文实例讲述了Python使用matplotlib和pandas实现的画图操作。分享给大家供大家参考,具体如下: 画图在工作再所难免,尤其在做数据探索时候,下面总结了一些关于python...

python中管道用法入门实例

本文实例讲述了python中管道用法。分享给大家供大家参考。具体如下: #!coding=utf-8 import multiprocessing def consumer(pipe...

pycharm运行出现ImportError:No module named的解决方法

pycharm运行出现ImportError:No module named的解决方法

今天用实验室的pycharm运行程序的时候发现出现了已安装的模块无法导入的情况,但实际上这个模块我已经在notebook中使用多次了,所以不可能是未安装模块的原因 查了一下原因,应该是...