对python插入数据库和生成插入sql的示例讲解

yipeiwu_com6年前Python基础

如下所示:

#-*- encoding:utf-8 -*-
import csv
import sys,os
import pymysql 
 
def read_csv(filename):
  '''
  读取csv文件
  '''
  data = []
  with open(filename) as f:
    f_csv = csv.reader(f)
    headers = next(f_csv)
    #数据格式[1111,22222,1111,1111,.....]
    for row in f_csv:
      # Process row
      field1=row[0]
      data.append(row)
    print headers
  return data
 
def load_data():
  '''
  插入数据库
  '''
  filename = sys.argv[1]
  try:
  #获取一个数据库连接,注意如果是UTF-8类型的,需要制定数据库
    conn=pymysql.connect(host='192.168.1.161',user='naliworld',passwd='password!',db='search',port=3306,charset='utf8')
    cur=conn.cursor()#获取一个游标
    data=read_csv(filename)
    for row in data:
      # Process row
      field1=row[0]
      sql='''insert into search.tb_text_uid_list(appId,type,uid,creator,createTime) values({},{},{},{},{}) '''.format(3,1,field1,'\'admin\'','\'2018-08-14 13:44:09\'')
      print sql
      cur.execute(sql)
    cur.close()#关闭游标
    conn.commit()
    conn.close()#释放数据库资源
  except Exception as e :print(e)
 
def get_sql():
  '''
  插入数据库生成插入sql
  '''
  sql_list = []
  filename = sys.argv[1]
  data=read_csv(filename)
  for row in data:
    # Process row
    field1=row[0]
    sql='''replace into search.tb_text_uid_list(appId,type,uid,creator,createTime) values({},{},{},{},{}) '''.format(3,1,field1,'\'admin\'','\'2018-08-14 13:44:09\'')
    sql_list.append(sql)
  file_object = open('sql.txt', 'w')
  file_object.writelines([line+';\n' for line in sql_list])
  file_object.close( )
 
if __name__ == "__main__":
  get_sql()
 
  

以上这篇对python插入数据库和生成插入sql的示例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

window7下的python2.7版本和python3.5版本的opencv-python安装过程

花费了整整2天的时间终于学会安装了opencv,换系统的心都有了,由于ubuntu实在不会玩,看来还是老老实实在windows下安装吧,以此作为记录方便以后安装 python2.7版本的...

利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式

利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式

Tensorflow是目前最流行的深度学习框架,我们可以用它来搭建自己的卷积神经网络并训练自己的分类器,本文介绍怎样使用Tensorflow构建自己的CNN,怎样训练用于简单的验证码识别...

pandas去重复行并分类汇总的实现方法

pandas去重复行并分类汇总的实现方法

今天主要记录一下pandas去重复行以及如何分类汇总。以下面的数据帧作为一个例子:  import pandas as pd data=pd.DataFrame({'产品'...

python 对类的成员函数开启线程的方法

如下所示: # -*- coding: utf-8 -*- import threading import thread import time class Test(objec...

简化Python的Django框架代码的一些示例

简化Python的Django框架代码的一些示例

尽管Django的流行和普及, 一些开发者仍然认为她是一个过时的web开发框架, 仅仅适合内容丰富的web程序。 然而现在大多数web程序往往不是富内容的, 这似乎让Django看起来不...