Python - Comparar 2 ficheros de texto

 
Vista:
sin imagen de perfil
Val: 22
Ha disminuido su posición en 3 puestos en Python (en relación al último mes)
Gráfica de Python

Comparar 2 ficheros de texto

Publicado por Roberto (4 intervenciones) el 07/09/2020 09:06:54
Hola buenos dias y muchas gracias por anticipado: llevo muy poco con Python y quisiera saber como se podrian leer 2 ficheros de texto con un campo codigo y otro campo numerico cada uno, es decir fichero F1 con campo1 y campo2 y fichero F2 con campo1 y campo2.

La cosa es que querria leer del primer fichero, leer su codigo y comparar ese codigo con todos los codigos del F2 y si son iguales, sumar los campos2 de cada fichero y escribir en el fichero de salida el codigo y la suma de ambos.

Mil gracias de nuevo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 22
Ha disminuido su posición en 3 puestos en Python (en relación al último mes)
Gráfica de Python

Comparar 2 ficheros de texto

Publicado por Roberto (4 intervenciones) el 07/09/2020 11:00:58
Gracias Joel por tu respuesta...esta parte ya la voy comprendiendo...mi problema es que trabajo con 2 ficheros diferentes pero con misma estructura...y me lio con que estructura de bucle usar ya que el primer codigo del primer fichero tiene que leer todos los codigos del segundo fichero...si lo encuentra sumar el campo 2 de ambos ficheros y escribirlo en otro fichero de salida...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Comparar 2 ficheros de texto

Publicado por joel (901 intervenciones) el 07/09/2020 15:32:35
Como lo estas haciendo... puedes mostrar el código?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 22
Ha disminuido su posición en 3 puestos en Python (en relación al último mes)
Gráfica de Python

Comparar 2 ficheros de texto

Publicado por Roberto (4 intervenciones) el 08/09/2020 09:41:58
Gracias Joel...veras, tengo un cacao de codigos diferentes porque soy muy nuevo...abro los 2 ficheros de lectura y uno de salida de escritura...pero no tengo claro como recorrer con el primero, el segundo...por un lado veo que puede ser una lista...por otro un array....y no me termina de quedar claro...

Quiero recorrer con el primer codigo del fichero f todo el fichero f2 y comparar cada codigo de este...y asi con todo el fichero f y su codigo...

1
2
3
4
5
6
7
8
9
10
11
12
f=open("F1.txt", "r")
f2=open("F2.txt", "r")
g=open("destino.txt","w")
 
for lineas in  f.readlines():
    for lineas2 in f2.readlines():
        print (lineas)
        print (lineas2)
 
f.close()
f2.close()
g.close()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Comparar 2 ficheros de texto

Publicado por joel (901 intervenciones) el 08/09/2020 10:35:47
Según entiendo, seria algo así:

1
2
3
4
5
6
7
8
9
10
11
12
f=open("F1.txt", "r")
f2=open("F2.txt", "r")
g=open("destino.txt","w")
 
for lineas in  f.readlines():
    for lineas2 in f2.readlines():
        if lineas==lineas2:
            g.write(lineas+"\n")
 
f.close()
f2.close()
g.close()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 22
Ha disminuido su posición en 3 puestos en Python (en relación al último mes)
Gráfica de Python

Comparar 2 ficheros de texto

Publicado por Roberto (4 intervenciones) el 08/09/2020 10:48:03
Eso es Joel, pero el problema es que los ficheros de texto F1 y F2 tienen 2 campos separados por un tabulador...campo1=codigo y campo2=un integer normal....es aqui cuando me lio...es decir, no se como tratar ese segundo campo...y sumarlo cuando el codigo es igual...es una lista? es un array? en el libro me dice que lo trate con SPLIT....

mil gracias por tu tiempo...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Comparar 2 ficheros de texto

Publicado por joel (901 intervenciones) el 08/09/2020 11:54:26
No se muy bien como son los archivos, pero con split() podrás separar los dos valores separados por el tabulador...

Tendrás que guardar en un diccionario cada código para ir sumando los importes si ya existiese en dicho diccionario...

Entonces, en el archivo destino tienes que guardar todos los campos y sumados los que son iguales? o solo los que se repiten en los dos archivos?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar