#!/usr/bin/python
import sys
import re
setToNullList = ['DATE_TABLEAU']
updateDict = {}
def displayMatrix(matrix):
for item in matrix:
print item
def loadFile (path):
mat = []
exp1 = re.compile("INSERT INTO ELECTEUR\(|\);")
exp2 = re.compile("\) VALUES \(");
for line in file(path,'r'):
chain=re.sub(exp2,'<****>',re.sub(exp1,'',line)).split('<****>')
d = dict(zip([i.strip() for i in chain[0].split(',')],[i.strip() for i in chain[1].split(',')]))
mat.append(d)
return mat
def updateAttributes (mat,attDict):
for item in mat:
item.update(attDict)
def setToNull (mat,attList):
for myDict in mat:
for key in attList:
if myDict[key]=="''":
myDict[key]='NULL'
def saveToFile (path,mat):
f=file(path,'w')
att = ''
val = ''
for dict in mat:
for k,v in dict.items():
att += k+','
val += v+','
sql_rq = 'INSERT INTO ELECTEUR('+att[:len(att)-1]+') VALUES ('+val[:len(val)-1]+');\n'
print >> f, sql_rq
f.flush()
f.close()
if __name__ == '__main__':
if len(sys.argv)==1:
print "Usage : %s pathin pathout" % (sys.argv[0])
if len(sys.argv)==2:
mat = loadFile(sys.argv[1])
#updateAttributes(mat,dict)
displayMatrix(mat)
#saveToFile(mat)
elif len(sys.argv)==3:
mat = loadFile (sys.argv[1])
#updateAttributes(mat,updateDict)
setToNull(mat,setToNullList)
saveToFile(sys.argv[2],mat)