Python数据挖掘02-MySQLdb的使用

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查询结果][1]
复制到Excel时,为了防止乱码,粘贴时选择“仅保留文字”方式。
![粘贴到Excel中][2]
-2016年10月31日
[1]: http://img.mukewang.com/581746c600016a8109800439.png
[2]: http://img.mukewang.com/581746f90001c6d107800461.png

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    aimaile阅读 26,716评论 6 427
  • 1.MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。My...
    黄花菜已凉阅读 10,018评论 3 60
  • GitHub 上有一个 Awesome - XXX 系列的资源整理,资源非常丰富,涉及面非常广。awesome-p...
    若与阅读 18,976评论 4 418
  • 今天上午老师开始一直在让我们练习通讯的那个例子,在老师的帮助下,完美的完成了,然后又讲了一下回调通信,在上一个基础...
    芦继超阅读 1,287评论 0 1
  • 早上上班,桌上一袋水果,办公室同事说有一个学生送来的。昨天下午2013届7班的几个学生回学校来看老师,错过了,很是...
    绿百合阅读 936评论 0 0