import fileinput
import json
import logging
from pg8000 import ProgrammingError
import pg8000 as DBAPI
import sys
logging.basicConfig(level=logging.INFO)
conn = DBAPI.connect() # put your authentication information for the database here
cursor = conn.cursor()
tblname = sys.argv[1][:sys.argv[1].rindex(\'.json\')].lower()
logging.info(tblname)
l = []
for line in fileinput.input():
l.append(line)
myjson = json.loads(\'\'.join(l))[\'results\']
column_names = myjson[1]
create_statement = \'create table {0} ({1} text)\'.format(tblname,\' text, \'.join(column_names))
logging.info(create_statement)
cursor.execute(create_statement)
insert_statement = \'insert into {0} ({1}) values ({2})\'.format(tblname, \',\'.join(column_names), "%s," * len(column_names))
insert_statement = insert_statement[:-2]+\')\'
logging.info(insert_statement)
tbl_number = 0
for i in myjson:
logging.info(i)
try:
cursor.execute(insert_statement, i)
except ProgrammingError, e:
tbl_number = tbl_number + 1
conn.commit()
cursor.close()
cursor = conn.cursor()
cursor.execute(create_statement)
insert_statement = \'insert into {0} ({1}) values ({2})\'.format(tblname, \',\'.join(column_names), "%s," * len(column_names))
insert_statement = insert_statement[:-2]+\')\'
finally:
logging.info(insert_statement)
conn.commit()
cursor.close()
conn.close()