#/usr/local/bin/python ## This file can be used to load the zip database available from cfdynamics to a mysql database ## change the line below to set your database name ## useage: ## python loadZipData.py /path/to/ZIP_CODES.txt import MySQLdb import os,sys database = None if database == None: raise "You must configure your database name" filename = None if len(sys.argv) >= 2: filename = sys.argv[1] if filename == None or not os.access(filename,os.R_OK): raise " invalid path to data file" db = MySQLdb.connect(host='localhost', user='root', passwd='',db='') data = open(filename).readlines() def doSql(sql,param=None): cursor = db.cursor() if param: cursor.execute(sql,param) else: cursor.execute(sql) for record in data: info = record.split(",") if len(info)!=7: print "ERROR:",record else: zip_code = info[0][1:-1] latitude = info[1][1:-1] longitude = info[2][1:-1] city = info[3][1:-1] state = info[4][1:-1] county = info[5][1:-1] zip_class = info[6].strip()[1:-1] try: doSql("INSERT INTO zip (zip,latitude,longitude,city,state,county,zip_class) values (%s, %s, %s,%s, %s, %s,%s)", (zip_code,latitude,longitude,city,state,county,zip_class)) print zip_code except: print "FAILED:",zip_code,city,state