def cargarCuentas(self, ruta): doc = openpyxl.load_workbook(self.fileAddress) hojaData = doc.get_sheet_by_name('HojaCuentas') hojaErrores = doc.create_sheet('HojaErrores') hojaCompletos = doc.create_sheet('HojaCompletos') hojaCompletos.append([ 'codigo', 'nombre', 'padre', 'naturaleza', 'nivel', 'idCuenta', 'idPadre', 'idRelacion' ]) hojaErrores.append(['codigo', 'errores', 'nombre']) rowCounter = 1 for fila in hojaData.rows: code = self.cleanIdCuenta( hojaData.cell(row=rowCounter, column=1).value) nombreCuenta = hojaData.cell(row=rowCounter, column=2).value print "Evaluando cuenta " + code cuenta = Cuenta(code, nombreCuenta) cuenta.padre = cuenta.definePadre(cuenta.codigo) cuenta.idCuenta = self.getCuentaById(cuenta.codigo) cuenta.idPadre = self.getCuentaById(cuenta.padre) cuenta.naturaleza = hojaData.cell(row=rowCounter, column=3).value rowCounter += 1 if not cuenta.naturaleza: cuenta.naturaleza = cuenta.defineNaturaleza(cuenta.codigo[:1]) cuenta.nivel = cuenta.defineNivel(cuenta.codigo) error = [] if cuenta.idCuenta: error.append("La cuenta ya existe.") if len(cuenta.nombre.replace(" ", "")) < 3: error.append("El nombre de la cuenta no es valido.") if cuenta.naturaleza is None: error.append("La naturaleza de la cuenta no esta definida.") if not cuenta.idPadre and cuenta.nivel != 1: error.append("El padre no se encuentra registrado.") if not error: try: self.insertCuenta(cuenta) hojaCompletos.append([ cuenta.codigo, cuenta.nombre, cuenta.padre, cuenta.naturaleza, cuenta.nivel, cuenta.idCuenta, cuenta.idPadre, cuenta.idRelacion ]) except Exception as errores: print "Error de nombre caracter" print errores hojaErrores.append([ cuenta.codigo, "Error de nombre caracter", cuenta.nombre, cuenta.nivel ]) else: print "Error: ", ' '.join(error) hojaErrores.append( [cuenta.codigo, ' '.join(error), cuenta.nombre]) doc.save("archivosExcel/resultadoCargue.xlsx")