import MySQLdb import csv def pN(inp): if len(str(inp).strip())==0: return -99.99 return inp conn = MySQLdb.connect(host = "localhost",user = "root",passwd = "",unix_socket="/home/belikov/mysql/mysql.sock",read_default_file="/home/belikov/mysql/my.cnf") conn2 = MySQLdb.connect(host = "localhost",user = "root",passwd = "",db="PROB",unix_socket="/home/belikov/mysql/mysql.sock",read_default_file="/home/belikov/mysql/my.cnf") conn3 = MySQLdb.connect(host = "localhost",user = "root",passwd = "",db="PROB",unix_socket="/home/belikov/mysql/mysql.sock",read_default_file="/home/belikov/mysql/my.cnf") cursor = conn.cursor() cursor_in = conn3.cursor() cursor.execute ("USE PROB") cursor.execute ("DROP TABLE CROSSID") create_str ="CREATE TABLE CROSSID (CROSSID INT, IDTWOMASS INT, IDUSNOA2 INT, PRIMARY KEY (CROSSID), FOREIGN KEY (IDTWOMASS) REFERENCES TWOMASS(ID), FOREIGN KEY (IDUSNOA2) REFERENCES USNOA2(ID))" cursor.execute (create_str) cursor.execute ("SELECT ID, RA2000, DEC2000 FROM TWOMASS") sr=1.0/60.0/60.0*15.0 id_cross=1 while(1): row=cursor.fetchone() if row==None: break cursor2=conn2.cursor() select_str="SELECT ID FROM USNOA2 WHERE (COS(RADIANS(%s))*COS(RADIANS(RA2000))+SIN(RADIANS(%s))*SIN(RADIANS(RA2000)))*COS(RADIANS(%s))*COS(RADIANS(DEC2000))+SIN(RADIANS(%s))*SIN(RADIANS(DEC2000)) > COS(RADIANS(%s))" % (row[1],row[1],row[2],row[2],sr) print select_str cursor2.execute(select_str) row2=cursor2.fetchall() if len(row2)>0: for newid in row2: ingest_statement="INSERT INTO CROSSID VALUES(%s,%s,%s)" % (id_cross,row[0],newid[0]) print ingest_statement cursor_in.execute(ingest_statement) print id_cross, row[0], newid id_cross=id_cross+1 cursor2.close() cursor.close () cursor_in.close() conn.close () conn2.close() conn3.close()