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