Comparar y extraer

Milton Galo Patricio Inostroza Aguilera minoztro en gmail.com
Lun Jun 23 00:19:23 CEST 2008


2008/6/22  <areyes en dsic.upv.es>:
> Hola,

Hola

> estoy iniciando en cuestiones de programación y de tratamiento de lenguaje
> natural.

Qué bien!...no olvides nunca de andar con tus manuales debajo de la manga eh!

> Mi pregunta es la siguiente, tengo 2 archivos, el primero tiene el formato:
>     abuse
>     abatament
>     comunication
>     dye
>     Wn
> El segundo tiene el siguiente:
>     abatement       2       3       @       ~
>     acute_leukemia  1       2       @       ~
>     acute_lymphoblastic_leukemia    1       1       @       1
>     acute_lymphocytic_leukemia      1       1       @       1
>     acute_myelocytic_leukemia       1       1       @       1
>     acute_myeloid_leukemia  1       1       @       1
>     acute_organic_brain_syndrome    1       1       @       1
>     acute_pyelonephritis    1       1       @       1
> Quiero saber cómo puedo comparar el archivo 1 con el 2 y si en el archivo 2
> aparece una palabra del 1, copiar toda la línea en un archivo nuevo, de la
> fomra siguiente:

Miremos

>
> si abatament en 2:
> entonces ['abatement       2       3       @       ~'] se copie a archivo

Bueno yo creo que acá es incorrecto ya que la llave abatament no
existe en el archivo dos (me di cuenta al momento de programar la
solución) (creo que fue un error de tipeo tuyo pero nada más)

> nuevo

Acá planteo una solución no se, si sea tan correcta (los más
experimentados podrían opinar)

theFirst = open('primero.txt','r') #abro el primer archivo
for theLine in theFirst.readlines(): #itero por cada linea de este
    theKey = theLine.split()[0] #supongo que el primer elemento
siempre será la llave
    theSecond = open('segundo.txt','r') #abro el segundo archivo
    for theSecondLine in theSecond.readlines(): #itero sobre cada linea de este
        if theKey == theSecondLine.split(' ')[0]: #tome como separador
un espacio
            print theSecondLine #imprime la linea si la condición es verdadera

>
> Espero haberme podido explicar. Gracias por su ayuda.

Te dejo como tarea que en vez de imprimir lo guarde en un archivo.

> Antonio
>
>
> ----------------------------------------------------------------
> This message was sent using IMP, the Internet Messaging Program.
>
> _______________________________________________
> Lista de correo Python-eshttp://listas.aditel.org/listinfo/python-es
> FAQ: http://listas.aditel.org/faqpyes
>



-- 
Milton Inostroza Aguilera
------------ próxima parte ------------
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes


Más información sobre la lista de distribución Python-es