Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #+++++++++++++++++++++++
- #++++ Instrucciones ++++
- #+++++++++++++++++++++++
- #Dejar Los Archivos "TablaCir_2010.txt" y "TablaPro.txt", en la misma carpeta del Script
- #luego ejecutar con el interprete de python( python NombreDelScript.py ),
- #El programa pedira que Ingrese el Nombre del Archivo a Convertir a .CSV, Ingresa el Nombre
- #del archivo a convertir y luego presionar enter, los datos convertidos quedan en "servel.csv".
- #++++++++++++++++++++++++++
- #++++ Formato de tabla ++++
- #++++++++++++++++++++++++++
- #SEXO|CIRCUNSCRIPCION|COMUNA|PROVINCIA|REGION|REG_ELECTORAL|NUM_INSCRIP|RUT|DIGITO|NOMBRE|FECH_NAC|LEE?|VIDENTE|FECH_INSCRIP|NACIONALIDAD|PROFESION|DOMICILIO
- #Variable de Recorrido.
- position = 1
- #funcion que recorre la cadena.
- #y retorna el numero de datos que deseo, utiliza
- #la variable pos para ir iterando.
- #1- cadena a recorrer( ojo con la posicion!! ).
- #2- Cantidad de datos que necesito de la cadena.
- #3- un 1 :p
- def recorreCad( cadena , numdedatos , pos ):
- #convertimos la variable cadena, en una cadena.
- str( cadena )
- #creamos una variable auxiliar de tipo Cadena
- aux_cad = ""
- str(aux_cad)
- #recorremos la cadena.
- contador = 1
- for caracter in cadena:
- #si tenemos el numero de datos pedidos, paramos el for.
- #y retornamos los datos.
- if contador == numdedatos+1:
- pos = pos+numdedatos
- return aux_cad
- #de lo contrario, seguimos concatenando.
- aux_cad = aux_cad + caracter
- #sumamos uno al contador.
- contador = contador + 1
- #Busca el numero de Cirscunscripcion.
- #recive un numero entero, y retorna la Cadena con los datos.
- def findCircuns( numC ):
- NombreA = "TablaCir_2010.txt"
- handleA = open( NombreA , "r" )
- #Recorremos el Archivo en busca del numero de circunscripcion.
- for linea in handleA.readlines():
- if int(recorreCad( linea[0:] , 3 , 1 )) == numC:
- handleA.close()
- return linea[0:]
- #Busca LA profesion por el Codigo.
- def findProff( numC ):
- NombreA = "TablaPro.txt"
- handleA = open( NombreA , "r" )
- for linea in handleA.readlines():
- if int(recorreCad( linea[0:] , 3 , 1 )) == numC:
- handleA.close()
- return linea[0:]
- def IngresaArch( string ):
- nombreA = "servel.csv"
- handleA = open( nombreA , "a" )
- handleA.write( string )
- handleA.close()
- #Pedimos Al Usuario que Ingrese El Nombre Del Archivo.
- try:
- nombreA = raw_input("\t\t \n \n Ingrese El Nombre del Archivo : ")
- #abrimos el Archivo
- handleA = open( nombreA , "r" )
- except IOError:
- print "\t\t Error : El Archivo Nose pudo leer \n\n"
- #Agrego los Nombres de Las columnas.
- IngresaArch( "SEXO," )
- IngresaArch( "CIRCUNSCRIPCION," )
- IngresaArch( "COMUNA," )
- IngresaArch( "PROVINCIA," )
- IngresaArch( "REGION," )
- IngresaArch( "REG_ELECTORAL," )
- IngresaArch( "NUM_INSCRIP," )
- IngresaArch( "RUT," )
- IngresaArch( "DIGITO," )
- IngresaArch( "NOMBRE," )
- IngresaArch( "FECH_NAC," )
- IngresaArch( "LEE?," )
- IngresaArch( "VIDENTE?," )
- IngresaArch( "FECH_INSCRIP," )
- IngresaArch( "NACIONALIDAD," )
- IngresaArch( "PROFESION," )
- IngresaArch( "DOMICILIO\n" )
- #recorremos el Archivo
- for linea in handleA.readlines():
- #sacamos el primer valor de la cadena, y lo convertimos en entero
- sex = int(recorreCad( linea[0:] , 1 , position ))
- #si el numero es 0, es mujer, de lo contrario es hombre
- if sex == 0:
- print "Es Mujer"
- IngresaArch( "\""+"Mujer"+"\""+"," )
- else:
- print "Es Hombre"
- IngresaArch( "\""+"Hombre"+"\""+"," )
- #Sacamos El Codigo De Cincunscripcion
- cincunscripcion = int(recorreCad( linea[1:] , 3 , position ))
- #imprimimos en pantalla.
- print "Num de circunscripcion : " , cincunscripcion
- Cad_Circuns = findCircuns( cincunscripcion )
- #Glosa de circunscriipcion
- print "Glosa de Circunscripcion : " + recorreCad( Cad_Circuns[3:] , 15 , 1 )
- IngresaArch("\"" + recorreCad( Cad_Circuns[3:] , 15 , 1 ) + "\"" + ",")
- #Glosa de la Comuna
- print "Glosa de la Comuna : " + recorreCad( Cad_Circuns[37:] , 15 , 1 )
- IngresaArch("\"" + recorreCad( Cad_Circuns[37:] , 15 , 1 ) + "\"" + "," )
- #Glosa de provincia
- print "Glosa de la Provincia : " + recorreCad( Cad_Circuns[69:] , 15 , 1 )
- IngresaArch("\"" + recorreCad( Cad_Circuns[69:] , 15 , 1 ) + "\"" + "," )
- #Glosa de Region
- print "Glosa de la Region : " + recorreCad( Cad_Circuns[101:] , 15 , 1)
- IngresaArch("\"" + recorreCad( Cad_Circuns[101:] , 15 , 1) + "\"" + "," )
- #Numero de Registro Electoral
- print "Numero de Registro Electoral : " + recorreCad( linea[4:] , 3 , 1 )
- IngresaArch("\"" + recorreCad( linea[4:] , 3 , 1 ) + "\"" + "," )
- #Numero de Inscripcion
- print "Numero de Inscripcion : " + recorreCad( linea[7:] , 3 , 1 )
- IngresaArch("\"" + recorreCad( linea[7:] , 3 , 1 ) + "\"" + "," )
- #Cedula de indentidad
- print "Cedula de Identidad : " + recorreCad( linea[10:] , 8 ,1 )
- IngresaArch("\"" + recorreCad( linea[10:] , 8 ,1 ) + "\"" + "," )
- #Digito Verificado
- print "Digito Verificador : " + recorreCad( linea[18:] , 1 , 1 )
- IngresaArch("\"" + recorreCad( linea[18:] , 1 , 1 ) + "\"" + "," )
- #Nombre
- print "Nombre : " + recorreCad( linea[19:] , 36 , 1 )
- IngresaArch("\"" + recorreCad( linea[19:] , 36 , 1 ) + "\"" + "," )
- #Fecha de Nacimiento
- print "Fecha de Nacimiento(AAAAMMDD) : " + recorreCad( linea[55:] , 8 , 1 )
- IngresaArch("\"" + recorreCad( linea[55:] , 8 , 1 ) + "\"" + "," )
- # Es analfabeto
- if int(recorreCad( linea[63:], 1 ,1 )) == 0:
- print "es Alfabeto\n"
- IngresaArch("\"" + "Alfabeto" + "\"" + "," )
- else:
- print "Es analfabeto\n"
- IngresaArch("\"" + "Analfabeto" + "\"" + "," )
- #Es Vidente
- if int(recorreCad( linea[64:] , 1 , 1 )) == 0:
- print "Es Vidente\n"
- IngresaArch("\"" + "Vidente" + "\"" + "," )
- else:
- print "Es No VIdente\n"
- IngresaArch("\"" + "No Vidente" + "\"" + "," )
- #Fecha de Inscripcion
- print "Fecha de Inscripcion : " + recorreCad( linea[65:] , 8 , 1 )
- IngresaArch("\"" + recorreCad( linea[65:] , 8 , 1 ) + "\"" + "," )
- #Nacionalidad
- print "Nacionalidad : " + recorreCad( linea[73:] , 15 ,1 )
- IngresaArch("\"" + recorreCad( linea[73:] , 15 ,1 ) + "\"" + "," )
- #Cadena con Codigo de Profesion y Glosa de Profesion
- numprof = int( recorreCad( linea[88:] , 3 , 1))
- globprof = findProff( numprof )
- #Nombre de la profesion
- print "Nombre de la Profesion : " + globprof[3:]
- IngresaArch("\"" + globprof[3:15] + "\"" + "," )
- #Domicilio
- print "Domicilio : " + recorreCad( linea[91:] , 40 ,1 )
- IngresaArch("\"" + recorreCad( linea[91:] , 40 ,1 ) + "\"" + "\n" )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement