reordenar archivos de texto segun orden alfabetico
Chema Cortes
pych3m4 en gmail.com
Mar Mayo 13 04:10:49 CEST 2008
El día 12 de mayo de 2008 23:15, punchik punchik <punchikk en yahoo.com> escribió:
> hola gente, tengo un archivo de texto con palabras y sus respectivas definiciones, el cual uso para llenar una base de datos .
>
> mi archivo de texto seria algo asi:
>
>
> tasa me gusta mi tasa
> gato el gato es un animal
> mesa la mesa es una cosa
> bicicleta es algo con dos ruedas
>
>
> bueno la cosa es que tengo miles de palabras con definiciones en mi archivo de texto que esta en desorden... mi pregunta es, hay alguna manera de reordenar las lineas de mi archivo segun su orden alfabetico en python? por ejemplo , las palabras que comienzen con a estarian primero en la lista y las que empiezen con z estaria al final.....me gustaria saber si ya hay algun script que pueda hacer esto, o alguna funcion dentro de python para hacerlo,pero si hay forma de hacerlo de alguna otra manera tambien me gustaria saber como.
Para ordenar se emplea la función sorted(), algo tan simple como:
lista_definiciones=sorted(file("definiciones.txt"))
Ya que quieres saber "cómo"...
- file("definiciones.txt") abre el fichero y devuelve un interador
para ir leyendo el fichero línea por línea.
- sorted() ordena la secuencia que le pasas como argumento. Al pasarle
un iterador, lo convierte en una lista y la devuelve ordenada.
Si quieres guardar todo en un fichero, se puede hacer así:
file("definiciones_ordenadas.txt","w").writelines(lista_definiciones)
Se puede hacer mejor, por ejemplo ordenando sin tener en cuenta
mayúsculas ni minúsculas:
lista_definiciones=sorted(file("definiciones.txt"), key=str.lower)
_______________________________________________
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