
Ayuda: Lectura de txt en python
Publicado por mario alexander (8 intervenciones) el 27/03/2015 08:21:29
Muy buenas, un saludo cordial primeramente a todos los de esta comunidad, gracias por colaborar por aca y espero o mejor dicho este foro sera mi nuevo sitio de preferencia para aprender y compartir.
Mi duda es la siguiente, estoy realizando un proyecto en mi universidad sobre un simulador de Spritz una aplicacion de android que lee palabras con respecto al tiempo en este caso minutos.
Mi problema hasta ahora es que necesito extraer un texto de un archivo txt se que se utiliza esta expresion:
archivo = open('Ejemplo1.txt','r')
for linea in archivo.readlines():
linea = linea.split()
print linea
mi salida es esta: lo que sale es lo que tengo en mi archivo txt
['\xef\xbb\xbfEn', 'Python,', 'al', 'igual', 'que', 'ocurre', 'con', 'Java,', 'cuando', 'se', 'manipulan', 'cadenas', 'se', 'crean', 'y', 'se', 'destruyen', 'objetos', 'constantemente.', 'Ello', 'supone', 'un', 'mayor', 'uso', 'de', 'memoria', 'y,', 'sobre', 'todo,', 'una', 'baja', 'eficiencia.']
[]
['Pero', 'haciendo', 'un', 'uso', 'inteligente', 'de', 'las', 'caracter\xc3\xadsticas', 'del', 'lenguaje,', 'es', 'posible', 'optimizar', 'estas', 'operaciones', 'de', 'forma', 'considerable.']
[]
['Los', 'siguientes', 'ejemplos', 'utilizan', 'Python', '2.2.2,', 'sobre', 'una', 'm\xc3\xa1quina', 'UltraSparc', 'I:']
como se ve me genera listas y esas listas contienen palabras, he intentado extraer esas palabras una por una con esto:
while i!=len(linea):
print linea[i]
time.sleep(1)
i+=1
mi salida es esta:
En
Python,
al
igual
que
ocurre
con
Java,
cuando
se
manipulan
cadenas
se
crean
y
se
destruyen
objetos
constantemente.
Ello
supone
un
mayor
uso
de
memoria
y,
sobre
todo,
una
baja
eficiencia.
el problema es que esto solo me sirve para la primera lista pero cuando hay un salto de linea [] me lanza un error de fuera de rango y ya no paso a las otras listas he intentado de varias formas como puedo hacer para leer todas las listas menos los saltos de linea pero no he tenido éxito, quisiera que me orientaran como puedo hacer para extraer todas esas palabras de todas esas listas. Muchas gracias de ante mano.
Una idea que no he probado es usar expresiones regulares pero se que de esta forma esta mas directa por que practicamente ya tengo mis palabras separadas en pocas lineas, solo es que no logro visualizar como recorrer todas las listas y no quedarme solo en la primera y jamas pasar a las demas.
Mi duda es la siguiente, estoy realizando un proyecto en mi universidad sobre un simulador de Spritz una aplicacion de android que lee palabras con respecto al tiempo en este caso minutos.
Mi problema hasta ahora es que necesito extraer un texto de un archivo txt se que se utiliza esta expresion:
archivo = open('Ejemplo1.txt','r')
for linea in archivo.readlines():
linea = linea.split()
print linea
mi salida es esta: lo que sale es lo que tengo en mi archivo txt
['\xef\xbb\xbfEn', 'Python,', 'al', 'igual', 'que', 'ocurre', 'con', 'Java,', 'cuando', 'se', 'manipulan', 'cadenas', 'se', 'crean', 'y', 'se', 'destruyen', 'objetos', 'constantemente.', 'Ello', 'supone', 'un', 'mayor', 'uso', 'de', 'memoria', 'y,', 'sobre', 'todo,', 'una', 'baja', 'eficiencia.']
[]
['Pero', 'haciendo', 'un', 'uso', 'inteligente', 'de', 'las', 'caracter\xc3\xadsticas', 'del', 'lenguaje,', 'es', 'posible', 'optimizar', 'estas', 'operaciones', 'de', 'forma', 'considerable.']
[]
['Los', 'siguientes', 'ejemplos', 'utilizan', 'Python', '2.2.2,', 'sobre', 'una', 'm\xc3\xa1quina', 'UltraSparc', 'I:']
como se ve me genera listas y esas listas contienen palabras, he intentado extraer esas palabras una por una con esto:
while i!=len(linea):
print linea[i]
time.sleep(1)
i+=1
mi salida es esta:
En
Python,
al
igual
que
ocurre
con
Java,
cuando
se
manipulan
cadenas
se
crean
y
se
destruyen
objetos
constantemente.
Ello
supone
un
mayor
uso
de
memoria
y,
sobre
todo,
una
baja
eficiencia.
el problema es que esto solo me sirve para la primera lista pero cuando hay un salto de linea [] me lanza un error de fuera de rango y ya no paso a las otras listas he intentado de varias formas como puedo hacer para leer todas las listas menos los saltos de linea pero no he tenido éxito, quisiera que me orientaran como puedo hacer para extraer todas esas palabras de todas esas listas. Muchas gracias de ante mano.
Una idea que no he probado es usar expresiones regulares pero se que de esta forma esta mas directa por que practicamente ya tengo mis palabras separadas en pocas lineas, solo es que no logro visualizar como recorrer todas las listas y no quedarme solo en la primera y jamas pasar a las demas.
Valora esta pregunta


0