对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设计】。

相关文章

详解在python操作数据库中游标的使用方法

cursor就是一个Cursor对象,这个cursor是一个实现了迭代器(def__iter__())和生成器(yield)的MySQLdb对象,这个时候cursor中还没有数据,只有等...

Django shell调试models输出的SQL语句方法

在settings.py里,配置如下logging: LOGGING = { 'version': 1, 'disable_existing_loggers': False,...

Python内置函数bin() oct()等实现进制转换

使用Python内置函数:bin()、oct()、int()、hex()可实现进制转换。 先看Python官方文档中对这几个内置函数的描述: bin(x) Convert an inte...

python3中numpy函数tile的用法详解

python3中numpy函数tile的用法详解

tile函数位于python模块 numpy.lib.shape_base中,他的功能是重复某个数组。比如tile(A,n),功能是将数组A重复n次,构成一个新的数组,我们还是使用具体的...

Python实现剪刀石头布小游戏(与电脑对战)

具体代码如下所述: srpgame.py #!/urs/bin/env python import random all_choice = ['石头','剪刀','布'] win_l...