insertUMLSConcepts.py 1.93 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
import configparser
import mysql.connector

#Diccionario con los datos de conexion a la BBDD (se lee desde archivo de configuracion: DEFAULT --> LOCAL, TESTING --> ARES)
configuration = configparser.ConfigParser()
configuration.read('config.ini')

config2 = {'user':configuration['ARES']['DB_USER'],
'password':configuration['ARES']['DB_PASSWORD'],
'port':configuration['ARES']['DB_PORT'],
'host':configuration['ARES']['DB_HOST'],
'db':configuration['ARES']['DB_NAME'],
'auth_plugin':configuration['ARES']['DB_AUTH_PLUGIN']
}

text = open("./output2.txt").read()
lines = iter(text.split("\n"))
#Conectamos con nuestra BD
cnx = mysql.connector.connect(**config2)
#Creamos el cursor 
cursor = cnx.cursor()

try:
	for line in lines:
		item = line.split("\t")
		query = ""
		#print(item)

		if("JKES" in item): #JKES
			query = "insert ignore into concept_extraction.note_umls (note_id,umls_id,begin,end,concept_text,origin) values ('"+item[3]+"','"+item[1]+"','"+item[4]+"','"+item[5]+"','"+item[0]+"','JKES');"
			query2 = "insert ignore into concept_extraction.umls (umls_id,concept) values ('"+item[1]+"','"+item[0]+"');"
			
		elif("UMLS" in item): #UMLS
			jkes_concept = item[0]
			for j in range(6,len(item)):
				aux = item[j].split(",")
				noteID = aux[0].replace("(","").replace("'","")
				begin = aux[1].replace("'","").strip()
				end = aux[2].replace(")","").replace("'","").strip()
				print(item[4])
				
				query = "insert ignore into concept_extraction.note_umls (note_id,umls_id,levenshtein_distance,begin,end,concept_text,origin) values ('"+noteID+"','"+item[3]+"','"+item[4]+"','"+begin+"','"+end+"','"+item[0]+"','UMLS');"
				query2 = "insert ignore into concept_extraction.umls (umls_id,concept) values ('"+item[3]+"','"+item[2]+"');"

		print(query2)
		print(query)
		cursor.execute(query2)
		cnx.commit()
		cursor.execute(query)
		cnx.commit()

	cursor.close()
	cnx.close()

except mysql.connector.IntegrityError as err:
  print("Error: {}".format(err))