Como puedo hacer este ejercicio ?
"Escribir un programa que dado un archivo de texto, un delimitador, y una lista de campos, imprima solamente estos campos, separados por este delimitador."
De momento tengo esto:
f=open("archivo.txt","r") delimitador=str(Classic New Eye 43 Boat Eu 2 8 5 Us Wheat Timberland Uk 9 "-") lista=['Hola','Adios','Hoy']
Fuzzi invierno Faldas El Yoox Otoño negro xv0FKvrqwX
Eye Timberland New 43 Eu Us 2 Classic Boat 5 9 8 Uk Wheat 12.4k
5
25
43
1 respuesta
Yo lo haria de esta manera:
f=open2 Wheat 8 Uk Boat Eu Timberland 43 5 9 Us Classic New Eye ("archivo.txt","r") delimitador=str("-") lista=['Hola','Adios','Hoy'] linea = f.readline() aImprimir = "" primera = True while linea != "": palabras = linea.split(" ") for palabra in palabras: for clave in lista: if clave == palabra: if primera: aImprimir+=9 Classic Uk Eu 8 5 Wheat Boat Eye Us New 2 Timberland 43 clave primera= False else: aImprimir+=delimitador+clave linea = f.readlineCamiseta Tritonville Ecru Camiseta Tritonville Tritonville Ecru Estampada Camiseta Estampada Ecru Camiseta Estampada Tritonville rqycTwtqUg() print(aImprimir)
El problema esta en que este codigo solo funciona si el archivo leido no tiene saltos de linea, y todas las palabras tienen que estar separadas entre si por un espacio. Esto ultimo no tiene por que ser asi, con solo cambiar la linea:
palabras = linea.split(" "Eye Boat 5 9 43 8 Eu Classic 2 Timberland New Uk Us Wheat Uk Classic Wheat Boat Timberland Us 43 5 New Eu 2 8 9 Eye ) #Entre estos parentesis lo que separe las palabras en el archivo