-
Notifications
You must be signed in to change notification settings - Fork 0
/
store_in_db.py
49 lines (42 loc) · 1.4 KB
/
store_in_db.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
import MySQLdb, sys, os, json
import gzip
def parse(path):
g = gzip.open(path,'r')
for l in g:
yield json.dumps(eval(l))
db = MySQLdb.connect("localhost","root","priyanshu","btp")
cursor = db.cursor()
y = 0
for l in parse('reviews_Cell_Phones_and_Accessories.json.gz'):
# print l
l = json.loads(l)
asin = rid = rname = review = overall = summary = rutime = rtime = ''
if 'asin' in l:
asin = l['asin'].encode('ascii')
if 'reviewerID' in l:
rid = l['reviewerID'].encode('ascii')
if 'reviewerName' in l:
rname = l['reviewerName'].encode('ascii')
if 'reviewText' in l:
review = l['reviewText'].encode('ascii')
if 'overall' in l:
overall = l['overall']
if 'summary' in l:
summary = l['summary'].encode('ascii')
if 'unixReviewTime' in l:
rutime = l['unixReviewTime']
if 'reviewTime' in l:
rtime = l['reviewTime'].encode('ascii')
# print '\n'
query = 'insert into cell_phones_and_accessories_reviews(asin,rid,rname,review,overall,summary,rutime,rtime) values('+`asin`+','+`rid`+','+`rname`+','+`review`+','+`overall`+','+`summary`+','+`rutime`+','+`rtime`+')'
# print query
# raw_input()
cursor.execute(query)
y = y+1
# print y
if y % 10000 == 0:
print y,'Committted!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
db.commit()
# raw_input()
print y
db.commit()