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

yipeiwu_com5年前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设计】。

相关文章

Python3随机漫步生成数据并绘制

Python3随机漫步生成数据并绘制

本文为大家分享了Python3随机漫步生成数据并绘制的具体代码,供大家参考,具体内容如下 random_walk.py from random import choice #生成随...

朴素贝叶斯算法的python实现方法

朴素贝叶斯算法的python实现方法

本文实例讲述了朴素贝叶斯算法的python实现方法。分享给大家供大家参考。具体实现方法如下: 朴素贝叶斯算法优缺点 优点:在数据较少的情况下依然有效,可以处理多类别问题 缺点:对输入数据...

Python中的相关分析correlation analysis的实现

Python中的相关分析correlation analysis的实现

相关分析(correlation analysis) 研究两个或两个以上随机变量之间相互依存关系的方向和密切程度的方法。 线性相关关系主要采用皮尔逊(Pearson)相关系数r来度量连续...

Python matplotlib通过plt.scatter画空心圆标记出特定的点方法

Python matplotlib通过plt.scatter画空心圆标记出特定的点方法

在用python画散点图的时候想标记出特定的点,比如在某些点的外围加个空心圆,一样可以通过plt.scatter实现 import matplotlib.pyplot as plt...

python集合是否可变总结

集合是一个无序的可变的序列。集合中的元素必须是可hash的,即不可变的数据类型。 空集合 a=set() 注意a={}创建的是一个空字典。 set —— 可变集合。集合中的元素可以动态...