-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsqlizer.py
53 lines (48 loc) · 2.24 KB
/
sqlizer.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import pickle
from mysql.connector import (connection)
bigTableName = "people"
pk, lastName, firstName, flags = "pk","last_name","first_name","flags"
bigTableStatement = """CREATE TABLE IF NOT EXISTS `%s` (
`%s` int,
`%s` varchar(32) NOT NULL,
`%s` varchar(32) NOT NULL,
`%s` int NOT NULL,
PRIMARY KEY (`%s`)
);
"""%(bigTableName, pk, lastName, firstName, flags, pk)
jobName, cityName, stateName, dateFrom, dateTo = "job_name", "city_name", "state_name", "date_from","date_to"
employeeHistoryTableName = "employmentHistory"
employeeHistoryStatement = """CREATE TABLE IF NOT EXISTS `%s` (
`%s` int,
`%s` varchar(64) NOT NULL,
`%s` varchar(32) NOT NULL,
`%s` varchar(2) NOT NULL,
`%s` date NOT NULL,
`%s` date NOT NULL,
PRIMARY KEY (`%s`, `%s`, `%s`, `%s`, `%s`, `%s`),
FOREIGN KEY (`%s`) REFERENCES `%s` (`%s`)
);
"""%(employeeHistoryTableName, pk, jobName, cityName, stateName, dateFrom, dateTo, pk, jobName, cityName, stateName, dateFrom,dateTo, pk, bigTableName, pk)
cnx = connection.MySQLConnection(user="root", password="fuck", database='people')
cursor = cnx.cursor()
cursor.execute(bigTableStatement)
cursor.execute(employeeHistoryStatement)
a=pickle.load(open("consolodatedOutput.pic","r"))
print "Loaded data"
for person in a:
name, employment,flags = person
flagBin = 0
for i in flags:
flagBin <<=1
flagBin += i
#print "INSERT INTO %s VALUES (%d, `%s`, `%s`, %d);"%(bigTableName, name[2],name[0].replace("'",""),name[1].replace("'",""),flagBin)
cursor.execute("INSERT INTO %s VALUES (%d, '%s', '%s', %d);"%(bigTableName, name[2],name[0].replace("'",""),name[1].replace("'",""),flagBin))
for place in employment:
#print "INSERT INTO %s VALUES (%d, '%s', '%s', '%s', STR_TO_DATE('%s','%%m/%%Y'), STR_TO_DATE(''%s,'%%m/%%Y'));"%(employeeHistoryTableName, name[2],place[0][0],place[0][1],place[0][2], place[1][0],place[1][1])
try:
cursor.execute("INSERT INTO %s VALUES (%d, '%s', '%s', '%s', STR_TO_DATE('01/%s','%%d/%%m/%%Y'), STR_TO_DATE('01/%s','%%d/%%m/%%Y'));"%(employeeHistoryTableName, name[2],place[0][0].replace("'",""),place[0][1],place[0][2], place[1][0],place[1][1]))
except Exception as e:
print "Yo we dun goffed ", e
cnx.commit()
cursor.close()
cnx.close()