python插入数据库和生成插入sql

时间:2022-10-19 21:43:14
#-*- 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()