继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Python数据挖掘02-MySQLdb的使用

陈经纬THU
关注TA
已关注
手记 5
粉丝 20
获赞 92

MySQLdb是在Python中使用MySQL数据库的桥梁,有了这个桥梁,得以实现Python与MySQL的数据交换。由于Python与MySQL使用的编码可能不同,以及不同操作系统文字编码的区别,所以对于中文的处理需要特别注意。

  1. 读取中文数据库
# coding=utf-8
import MySQLdb
try:
    conn=MySQLdb.connect(host='localhost',user='root',passwd='password',db='ZhilianJob', charset='utf8')
    cur=conn.cursor()
    cur.execute(r'select * from table1')
    resultlist= cur.fetchall()
    for result in resultlist:
        print result[0].encode('utf-8')
    cur.close()
    conn.close()
except MySQLdb.Error,e:
     print "Mysql Error %d: %s" % (e.args[0], e.args[1])
  1. 向数据库中写入中文
# coding=utf-8
import MySQLdb
try:
    conn=MySQLdb.connect(host='localhost',user='root',passwd='password',charset='utf8')
    cur=conn.cursor()
    cur.execute('CREATE database test DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci')
    cur.execute('USE test')
    cur.execute('CREATE TABLE tb1(ID INT(10) ,Name VARCHAR(20))ENGINE=InnoDB DEFAULT CHARSET=utf8')
    sql='INSERT INTO tb1 VALUES (%d,"%s")'%(1,'cjw')
    cur.execute(sql)
    s='陈经纬'
    s=s.decode('utf-8').encode('utf-8')
# 如果是从网上抓取的编码为utf-8的中文,则无需再次编码
    cur.execute('INSERT INTO tb1 VALUES (%d,"%s")'%(2,s))
    sql='SELECT * FROM tb1'
    cur.execute(sql)
    resultlist= cur.fetchall()
    for result in resultlist:
        print result[1]
# Mac中应使用result[1].encode('utf-8')
    conn.commit()
    cur.close()
    conn.close()
except Exception as e:
    print e
  1. 提取数据

为了方便提取数据作图,可以通过Python直接把数据写入Excel,也可以复制MySQL的查询结果到Excel中。
MySQL查询结果
复制到Excel时,为了防止乱码,粘贴时选择“仅保留文字”方式。
粘贴到Excel中

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP