String to List

Daniel Garcia Moreno dani en danigm.net
Jue Abr 3 20:53:05 CEST 2008


El jue, 03-04-2008 a las 13:49 -0500, juan luis escribió:
> Hola a todos:
>    
>   Estoy realizando mis primeros pasos en Python y veo como en este forum se realizan avances interesantes lo cierto es que derrepente el siguiente pequeno problema les parecera muy sencillo pero yo busque informacion al respecto y no la encontre,Se que se puede emplear por ejemplo l=list(x) pero cuando hago esto mis datos se separan de uno en uno y en mi caso necesito que se separen por cantidades espaciadas en mi archivo de entrada:
>    
>   Me explico mejor mi archivo es de formato .asc y contiene numeros 50 filas por 50 columnas cuando leo el archivo este es alamacenado en una variable:
>   =====================================
>   import os
> os.chdir(r'\\datos_phyton')
> f = open("archivo.asc", "r")
> b = f.read()
> print b
> =====================================
>   52 53 51 51 53 54 53 52 52 5 51 53 56 57 55 50 47 ....
>   70 57 55 49 49 51 52 53 56 6 53 52 52 52 51 52 52.....
>   52 49 52 52 52 53 53 52 53 6 52 51 52 51 50 51 52.....
>   ....
>   ....
>   =====================================
>   El tipo de archivo de b es  (str)...
>   Cuando convierto a lista  c=list(b) ocurre lo siguiente ..
>   ========
>   ['5', '9', '\t', '5', '7', '\t', '5', '3', '\t', '5', '0', '\t', '5', '0', '\t', '5', '0', '\t', '5', '0', '\t', '5', '1', '\t', '5', '0', '\t', '5', '0', '\t', '5', '0', '\t', '5', '2', '\t', '5', '8', '\t', '6', '1', '\t', '5', '0', '\t', '5', '0', '\t', '5', '0', '\t', '5', '0', '\t', '4', '9', '\t', '4', '9', '\t', '5', '0', '\t', .....]
>   ========
>   y lo que busco es 
>    
>   [ [52 53 51 51 53 54 53 52 52 5 51 53 56 57 55 50 47 ......] 
>      [70 57 55 49 49 51 52 53 56 6 53 52 52 52 51 52 52......]
>      [52 49 52 52 52 53 53 52 53 6 52 51 52 51 50 51 52......]
>      [......]]
>    
>   Por favor si alguien me pudiera dar alguna solucion le agradeceria mucho y disculpas por hacer derrepente consultas como esta.
>   Muchas gracias y estare atento a alguna respuesta.
>    

Puedes utilizar str.split()

lineas = b.split('\n')
for l in lineas:
	l = 
lista = [l.split(' ') for l in b.split('\n')]

------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: Esta parte del mensaje está firmada	digitalmente
URL: <http://mail.python.org/pipermail/python-es/attachments/20080403/b093a666/attachment.pgp>
------------ próxima parte ------------
_______________________________________________
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