document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. import fileinput
  2. import json
  3. import logging
  4. from pg8000 import ProgrammingError
  5. import pg8000 as DBAPI
  6.  
  7. import sys
  8. logging.basicConfig(level=logging.INFO)
  9. conn = DBAPI.connect() # put your authentication information for the database here
  10. cursor = conn.cursor()
  11. tblname = sys.argv[1][:sys.argv[1].rindex(\'.json\')].lower()
  12. logging.info(tblname)
  13.  
  14. l = []
  15. for line in fileinput.input():
  16.     l.append(line)
  17. myjson = json.loads(\'\'.join(l))[\'results\']
  18. column_names = myjson[1]
  19. create_statement = \'create table {0} ({1} text)\'.format(tblname,\' text, \'.join(column_names))
  20. logging.info(create_statement)
  21. cursor.execute(create_statement)
  22. insert_statement = \'insert into {0} ({1}) values ({2})\'.format(tblname, \',\'.join(column_names), "%s," * len(column_names))
  23. insert_statement = insert_statement[:-2]+\')\'
  24. logging.info(insert_statement)
  25. tbl_number = 0
  26. for i in myjson:
  27.     logging.info(i)
  28.     try:
  29.         cursor.execute(insert_statement, i)
  30.     except ProgrammingError, e:
  31.         tbl_number = tbl_number + 1
  32.         conn.commit()
  33.         cursor.close()
  34.         cursor = conn.cursor()
  35.         cursor.execute(create_statement)
  36.         insert_statement = \'insert into {0} ({1}) values ({2})\'.format(tblname, \',\'.join(column_names), "%s," * len(column_names))
  37.         insert_statement = insert_statement[:-2]+\')\'
  38.     finally:
  39.         logging.info(insert_statement)
  40.  
  41.  
  42. conn.commit()
  43. cursor.close()
  44. conn.close()
');