def load_file_to_temp_table(fileName,tableName,db):
print "STEP 2 : Load your file into temp table you created"
print "ALL warning will be raised as error except for duplicates in the file "
print "table will be dropped if loading failed"
print '---------------------------------------------------------------------------------'
print "Loading your file to %s"%tableName
print '---------------------------------------------------------------------------------'
isSuccess = True
cursor = db.cursor()
#set warning to error
warnings.simplefilter("error",MySQLdb.Warning)
fields_in_table = desc_table(db,tableName)
fields_in_file = list_field(fileName)
sql = 'insert ignore into '+tableName+'('
i =0
field_type=[]
for member in fields_in_file:
if i == len(fields_in_file)-1:
sql = sql+member+') VALUES ('
else:
sql = sql+member+','
i = i+1
field_type.append([item[1] for item in fields_in_table if member in item[0] and exact_match(member,item[0])][0])
f = open(fileName,'rb')
skipfirstLine = True
for line in f:
if(skipfirstLine):
skipfirstLine =False
continue
members = line.replace('\n','').split('#')
i=0
cmd = sql
for member in members:
types = field_type[i]
if 'char' in types:
if i == len(members)-1:
cmd = cmd +"'"+member+"'"+')'
else:
cmd = cmd +"'"+member+"'"+','
else:
if i == len(members)-1:
cmd = cmd +member+')'
else:
cmd = cmd +member+','
i = i+1
try:
cursor.execute(cmd)
except MySQLdb.Error, e:
print "MySQL Error [%d]: %s" % (e.args[0], e.args[1])
isSuccess = False
except MySQLdb.Warning,e:
print "MYSQL Warning : %s"%e
isSuccess = False
f.close()
return isSuccess
评论列表
文章目录