Python - Lectura y union de dos txt

 
Vista:

Lectura y union de dos txt

Publicado por juan (11 intervenciones) el 15/03/2017 23:36:55
hola buenas tardes espero me puedan ayudar me dejaron hacer un programa que tiene que leer dos txt unirlos y sacar un tercero txt c intercalado ejemplo

txt1

hola
mi
nombre


txt2

como
te
llamas


resultado txt3

hola
te
nombre

no tengo ni idea de como hacerlo espero me puedan ayudar gracias
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
Imágen de perfil de kip
Val: 1.120
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Lectura y union de dos txt

Publicado por kip (257 intervenciones) el 16/03/2017 03:16:36
Hola, he hecho un codigo a ver si se ajusta a lo que pides:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def intercalar_txt(file1, file2, file3 = 'nuevo.txt'):
    with open(file1, 'r') as f:
        lines1 = f.readlines()[::2]
    with open(file2, 'r') as f:
        lines2 = f.readlines()[1::2]
    lines3 = []
    nlimit = 0
    for nline in range(len(min(lines1, lines2, key = len))):
        lines3.extend(lines1[nline] + lines2[nline])
        nlimit += 1
    lines3.extend(max(lines1, lines2, key = len)[nlimit:])
    with open(file3, 'wb+') as f:
        f.write(''.join(lines3).rstrip('\n'))
 
intercalar_txt('txt1.txt', 'txt2.txt', 'txt3.txt')

Si te fijas a la funcion le envio los dos txt a procesar y por ultimo el nombre del nuevo txt, este ultimo nombre es opcion por defecto creara un txt llamado nuevo.txt.

Pruebalo y nos avisas!
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

Lectura y union de dos txt

Publicado por Juan (11 intervenciones) el 16/03/2017 04:39:46
mira me da estos errores mmm e intentado modificar algunas cosas pero me sigue marcando error

Traceback (most recent call last):
File "C:/Users/Ivanto534/PycharmProjects/leertxt/txt.py", line 16, in <module>
intercalar_txt("txt1.txt", "txt2.txt", "txt3.txt")
File "C:/Users/Ivanto534/PycharmProjects/leertxt/txt.py", line 2, in intercalar_txt
with open(file1, 'r') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'txt1.txt'


me dice que no existe el txt1.txt pero si lo tengo en el directorio principal del proyecto
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 kip
Val: 1.120
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Lectura y union de dos txt

Publicado por kip (257 intervenciones) el 16/03/2017 05:47:20
Debes recordar que el archivo txt debe estar al mismo nivel del directorio donde se encuentra el script python, por la forma como lo estas colocando deberías colocar el archivo txt alli!
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

Lectura y union de dos txt

Publicado por Juan (11 intervenciones) el 16/03/2017 06:03:13
si ya error mio XD pero ahora me sale esto

C:\Users\Ivanto534\AppData\Local\Programs\Python\Python36\python.exe C:/Users/Ivanto534/PycharmProjects/leertxt/txt.py
Traceback (most recent call last):
File "C:/Users/Ivanto534/PycharmProjects/leertxt/txt.py", line 16, in <module>
intercalar_txt('txt1.txt', 'txt2.txt', 'txt3.txt')
File "C:/Users/Ivanto534/PycharmProjects/leertxt/txt.py", line 13, in intercalar_txt
f.write("".join(lines3).rstrip("\n"))
TypeError: a bytes-like object is required, not 'str'


no se que sea
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 kip
Val: 1.120
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Lectura y union de dos txt

Publicado por kip (257 intervenciones) el 16/03/2017 06:08:17
Modifica esta línea:

1
with open(file3, 'wb+') as f:

Por esta:

1
with open(file3, 'w+') as f:

Si aun no funciona intenta con esto:

1
f.write(''.join(lines3).rstrip('\n'))

A esto:

1
f.write((''.join(lines3).rstrip('\n')).encode())

El problema es que al parecer estas usando la versión 3 de Python.... problemas de compatibilidad con el código que lo hice en la version 2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Lectura y union de dos txt

Publicado por Juan (11 intervenciones) el 16/03/2017 07:10:00
ok si ya salio amigo y una duda no se puede que el usuario buque los dos archivos deseados sea donde quiera que esten dentro de la pc en vez de ponerlos en la ruta del proyecto ?

o ya se necesit gui con tkinter?
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