· 9 years ago · Jan 25, 2017, 08:24 AM
1import os
2import sys
3import MySQLdb
4import csv
5import MySQLdb
6# db connection
7
8prompt = '> '
9print "Enter the Directoryn"
10path = raw_input(prompt)
11
12def dbOperations(filename, list=[], *argv):
13 count = 0
14 sql = '''CREATE TABLE IF NOT EXISTS `%s`n(''' % (filename)
15 for col in list:
16 if (count == len(list) - 1):
17 sql = sql + ('''nt`%s` VARCHAR(60) NULL''' % (col))
18 else:
19 sql = sql + ('''nt`%s` VARCHAR(60) NULL,''' % (col))
20 count = count + 1
21
22 sql = sql + '''n);n'''
23 print filename
24
25 delimiters = ','
26 lterby = "\n"
27
28 print (sql)
29 sql2 = ("""LOAD DATA LOCAL INFILE '%s'
30 n INTO TABLE `%s`
31 n FIELDS TERMINATED BY ','
32 n OPTIONALLY ENCLOSED BY '"'
33 n LINES TERMINATED BY '\n' IGNORE 1 LINES;""" % (filename, filename))
34
35 print '%s created.' % ("Table")
36 print sql2
37 # excute sql
38 try:
39 db = MySQLdb.connect(host="Somehost", port=3306,
40 user="aUser", passwd='pass', db="somedb")
41 cur = db.cursor()
42 cur.execute(sql)
43 print "Header Done"
44 # Execute the SQL command
45 except:
46 print "gg"
47 db.rollback()
48 # Rollback in case there is any error
49
50 try:
51 print "Checking"
52
53 cur.execute(sql2)
54 db.commit()
55
56 except:
57 print "Error loading"
58 db.rollback()
59
60
61for root,dirs,files in os.walk(path):
62 for file in files:
63 fname = os.path.join(root,file)
64 if fname.endswith('.csv'):
65 with open(fname, 'rb') as f:
66 reader = csv.reader(f, skipinitialspace=True)
67 header = reader.next()
68
69 dbOperations(fname, header)