python将字典内容存入mysql

1.背景

     项目须要,用python实现了将字典内容存入本地的mysql数据库。

比方说有个字典dic={"a":"b","c":"d"},存入数据库效果图例如以下:


2.代码

  
'''
Insert items into database

@author: hakuri
'''
import MySQLdb

def InsertData(TableName,dic):
   
   try:
    conn=MySQLdb.connect(host='localhost',user='root',passwd='****',db='test',port=3306)  #链接数据库
    cur=conn.cursor()
    COLstr=''   #列的字段
    ROWstr=''  #行字段
    
    ColumnStyle=' VARCHAR(20)'
    for key in dic.keys():
         COLstr=COLstr+' '+key+ColumnStyle+','    
         ROWstr=(ROWstr+'"%s"'+',')%(dic[key])

    #推断表是否存在,存在运行try。不存在运行except新建表,再insert
    try:
      cur.execute("SELECT * FROM  %s"%(TableName))
      cur.execute("INSERT INTO %s VALUES (%s)"%(TableName,ROWstr[:-1]))
      
    except MySQLdb.Error,e:             
      cur.execute("CREATE TABLE %s (%s)"%(TableName,COLstr[:-1]))
      cur.execute("INSERT INTO %s VALUES (%s)"%(TableName,ROWstr[:-1]))
    conn.commit()
    cur.close()
    conn.close()

   except MySQLdb.Error,e:
      print "Mysql Error %d: %s" % (e.args[0], e.args[1])        


if __name__=='__main__':
    dic={"a":"b","c":"d"}
    InsertData('testtable',dic)      

posted @ 2017-04-21 18:55  brucemengbm  阅读(11422)  评论(0编辑  收藏  举报