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

来源:互联网 发布:linux tgz 编辑:程序博客网 时间:2024/06/08 04:31
#-*- encoding:utf-8 -*-import csvimport sys,osimport 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 datadef 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()            

原创粉丝点击