Guest User

Untitled

a guest
Apr 17th, 2018
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.93 KB | None | 0 0
  1. import sys
  2. import MySQLdb
  3. import csv
  4. import getpass
  5. from datetime import datetime
  6. def main():
  7. if sys.argv < 4:
  8. print('To few arguments, please specify a filename')
  9. file_name=sys.argv[1]
  10. dbase=sys.argv[2]
  11. hst=sys.argv[3]
  12. user1=sys.argv[4]
  13. print("Password for "+user1+"@"+hst+": ")
  14. password=getpass.getpass()
  15. #try:
  16. with open(file_name) as csvfile:
  17. print("Importing data from "+file_name+" into "+dbase+" database on "+hst+"...")
  18. reader= csv.DictReader(csvfile)
  19. #except IOError:
  20. #print("Can't open file " + fileName + ".")
  21. for row in reader:
  22. conn = MySQLdb.connect(host=hst, # your host, usually localhost
  23. user=user1, # your username
  24. passwd=password, # your password
  25. db=dbase) # name of the data base
  26. sql_statement = "INSERT IGNORE INTO routes (route_id,route_name) VALUES (%s,%s)"
  27. #print(sql_statement)
  28. cur = conn.cursor()
  29.  
  30. cur.executemany(sql_statement,[(row['route_id'],row['route_name'])])
  31. conn.escape_string(sql_statement)
  32. conn.commit()
  33.  
  34. sql_statement = "INSERT IGNORE INTO stops (stop_id,stop_name) VALUES (%s,%s)"
  35. #print(sql_statement)
  36. cur = conn.cursor()
  37.  
  38. cur.executemany(sql_statement,[(row['stop_id'],row['stop_name'])])
  39. conn.escape_string(sql_statement)
  40. conn.commit()
  41.  
  42. sql_statement = "INSERT IGNORE INTO vehicles (vehicle_id) VALUES (%s)"
  43. #print(sql_statement)
  44. cur = conn.cursor()
  45.  
  46. cur.executemany(sql_statement,[(row['vehicle_id'])])
  47. conn.escape_string(sql_statement)
  48. conn.commit()
  49.  
  50. sql_statement = "INSERT INTO passenger_data (pdate,route_id,direction,stop_id,on_number,off_number,vehicle_id) VALUES (%s,%s,%s,%s,%s,%s,%s)"
  51. #print(sql_statement)
  52. cur = conn.cursor()
  53.  
  54. cur.executemany(sql_statement,[(datetime.strptime(row['date'], '%m/%d/%Y'),row['route_id'],row['direction'],row['stop_id'],row['ons'],row['offs'],row['vehicle_id'])])
  55. conn.escape_string(sql_statement)
  56. conn.commit()
  57.  
  58. cur.close()
  59. conn.close()
  60. print("done")
  61. main()
Add Comment
Please, Sign In to add comment