def make(self): #Desactivamos el boton de MAKE para evitar colisiones self.fusion.setEnabled(False) #NewFileCampos: contiene los campos que seran usados en el tercer archivo self.NewFileCampos = self.campos_lista1 #Se le agregan los datos del segundo archivo seleccionado self.NewFileCampos += self.campos_lista2 #Este for recorre la lista de tipos que contiene el file1 , y por medio de una comparacion encuentra los proximos a usar #en el tercer archivo for i in range(len(self.indices_lista1)): self.NewFileTipos.append(self.tiposFile1[self.indices_lista1[i]]) #Este for recorre la lista de tipos que contiene el file2 , y por medio de una comparacion encuentra los proximos a usar #en el tercer archivo for i in range(len(self.indices_lista2)): self.NewFileTipos.append(self.tiposFile2[self.indices_lista2[i]]) #creamos una instancia de FILe donde le mandamos las dos rutas para trabajar con sus registros FILE = File(self.ruta1, self.ruta2) #cantFile1: la cantidad de datos del file1 cantFile1 = int #cantFile2: la cantidad de datos del file2 cantFile2 = int #arriba fueron declarados como int #a continuacion se les asigna los datos capturados de file1 y file2 cantFile1 = FILE.getCantFile1() cantFile2 = FILE.getCantFile2() #Si la cantidad de datos que contiene es la misma : if cantFile1 == cantFile2: #por medio de la instancia file, llamamos a crearNewFile, este escribe en el tercer archivo la metadata FILE.createNewFile(self.NewFileTipos, self.NewFileCampos, cantFile1) #esta siguiente llamada escribe los campos seleccionados de los dos archivos FILE.write_in_newFile(self.indices_lista1, self.indices_lista2) #Este codigo es usado para mostrar un aviso a nuestro usuario msg = QtGui.QMessageBox() msg.setIcon(QtGui.QMessageBox.Information) msg.setText("MERGE REALIZADO CON EXITO!") msg.setWindowTitle("Merge Files") retval = msg.exec_() else: #Si nuestros archivos no comparten la misma cantidad de datos le decimos al usuario que no puede realizarse la accion msg = QtGui.QMessageBox() msg.setIcon(QtGui.QMessageBox.Information) msg.setText("NO PUEDE FUSIONAR ARCHIVOS DE TAMANOS DIFERENTES!") msg.setWindowTitle("Merge Files") retval = msg.exec_()
import urllib.request, json import urllib.parse import re import sys sys.path.append('element.py') from element import Element sys.path.append('file.py') from file import File with urllib.request.urlopen( "http://localhost/zabbix/json/getAllSlaByService.php") as url: data = json.loads(url.read().decode()) print(len(data)) tab = [] for i in range(0, len(data)): e = Element(data[i]['host_name'], data[i]['list']) tab.append(e) f = File("result.csv") f.createNewFile() for i in range(0, len(tab)): #print (tab[i].getHost_name()) #print (tab[i].getSla()) raw = tab[i].convertString_To_Float(tab[i].getSla()) s = "%s;%f" % (tab[i].getHost_name(), round(tab[i].calcul_prediction(raw), 4)) print(s) f.addNewLineInFile(s)