eey, gracias por tu respuesta.
Te comento que de hecho ya había pensado en utilizar un diccionario, el problema es que los dicconarios son en formato [key] --> [value] y en este caso la parte de [value] es de uno o más valores y también está el hecho de que estamos hablando de un diccionario que es de mas de un millón de registros. Podría usar una base de datos, pero no es posible
jejeje
como ven? alguna idea?
Saludotes
Podrías poner algunos datos de ejemplo para tener una mejor idea?
Estas usando Python 2.5?
nrm
claro!
Un ejemplo sería lo siguiente:
Como entrada de datos tengo una lista de nombres:
"VICTOR FCO. TORRES HDZ"
"MA. DEL CARMEN TORRES HNDZ"
"JOSE LUIS TORRES HRNDEZ."
Por otro lado, tengo un archivo plano (de 450 mil linead) en el que tengo una lista en la que el pirimer valor en de cada linea corresponde a un texto estandarizado al que corresponden el resto de los valores en esa misma linea, algo como lo siguiente:
"HERNANDEZ, HDZ. HDZ, HNDZ, HRDEZ, HRNDEZ"
"MARIA, MA., MA"
"FRANCISCO, FCO., FRCISCO,"
En la primera linea el primer valor HERNANDEZ corresponde a el valor estandarizado de HDZ.,HRDEZ, etc etc.
El chiste de mi proceso es que, con la lista que tengo de entrada, descompongo cada cadena en palabras, cada una de estas palabras se busca en el archivo plano en donde al encontrarse, esta se sustituye por la palabra de la primera linea, es decir: hacemos esto:
1. Tengo esta cadena de entrada: "VICTOR FCO. TORRES HDZ"
2. La descompongo en palabras individuales (tokens): "VICTOR","FCO.","TORRES","HDZ"
3. Cada palabra o token se busca en la lista del archivo plano a fin de encontrar su equivalente, en este caso encontraremos que "FCO." corresponde a "FRANCISCO" y que "HDZ" corresponde a "HERNANDEZ".
4. Finalmente, mi dato de salida sería el siguiente: "VICTOR FRANCISCO TORRES HERNANDEZ"
Este proceso se repite por cada entrada.
Mi problema aqui es que por cada linea de entrada, mi proceso lee una y otra vez el archivo plano y lo que trato de hacer es que de alguna forma al momento de cargar Python, se ejecute un proceso para leer el archivo plano una sola vez y el resultado se guarde en alguna variable de memoria que sea accesible desde cualquier otro programa, algo asi como variable global-
jeje, espero se haya entendido, y gracias por sus comentarios.
p.D. uso Python 2.3
b.To