[Python-es] Lectura y formateo de ASCII
Saludos lista. Tengo la siguiente inquietud. Debo leer datos numéricos de un archivo tabulado que tiene 13 columnas o variables (Generado con Excel 2007). Cada 33 filas de estas columnas me representan una observación. Debo leer tres columnas de esta información y crear una matriz por cada variable, donde una fila me representa una observación, es decir una matriz de orden 'm x 33'. La generación de las matrices seria de esta forma: *m = 4126* *n = 33* *LAT = []* *file = open("Archivos.txt")* * * *for i in range( m ):* * A.append( [0] * n )* * * *for i in range (m):* * for j in range(n):* * LAT[i][j] = float(Lectura Datos Archivos.txt)* * * *print LAT* * * Mi problema radica en leer los datos del archivo TXT y agregarlos al codigo previo. De antemano agradezco cualquier colaboración que me puedan brindar. Un ejemplo del archivo de entrada lo pueden encontrar aqui http://pastebin.ca/1945422 Gracias. -- Juan Camilo Hernández Díaz Ingeniero Sanitario ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Lectura y formateo de ASCII
El lun, 20-09-2010 a las 17:34 -0500, Juan Camilo Hernandez D escribió: > Saludos lista. > > > Tengo la siguiente inquietud. > > > Debo leer datos numéricos de un archivo tabulado que tiene 13 columnas > o variables (Generado con Excel 2007). Cada 33 filas de estas columnas > me representan una observación. Debo leer tres columnas de > esta información y crear una matriz por cada variable, donde una fila > me representa una observación, es decir una matriz de orden 'm x 33'. > La generación de las matrices seria de esta forma: > > > m = 4126 > n = 33 > LAT = [] > file = open("Archivos.txt") > > > for i in range( m ): > A.append( [0] * n ) > > > for i in range (m): > for j in range(n): > LAT[i][j] = float(Lectura Datos Archivos.txt) > > > print LAT > > > Mi problema radica en leer los datos del archivo TXT y agregarlos al > codigo previo. De antemano agradezco cualquier colaboración que me > puedan brindar. Un ejemplo del archivo de entrada lo pueden encontrar > aqui http://pastebin.ca/1945422 > > > Gracias. > http://lmgtfy.com/?q=python+leer+datos+archivo+texto de nada La proxima vez te mando otra url (un poco menos inocente) > > -- > Juan Camilo Hernández Díaz > Ingeniero Sanitario > > > ___ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Lectura y formateo de ASCII
___ De: python-es-bounces+marcelobarbero=arnet.com...@python.org [mailto:python-es-bounces+marcelobarbero=arnet.com...@python.org] En nombre de Juan Camilo Hernandez D Enviado el: Lunes 20 de Septiembre de 2010 07:35 p.m. Para: La lista de python en castellano Asunto: [Python-es] Lectura y formateo de ASCII Saludos lista. Tengo la siguiente inquietud. Debo leer datos numéricos de un archivo tabulado que tiene 13 columnas o variables (Generado con Excel 2007). Cada 33 filas de estas columnas me representan una observación. Debo leer tres columnas de esta información y crear una matriz por cada variable, donde una fila me representa una observación, es decir una matriz de orden 'm x 33'. La generación de las matrices seria de esta forma: m = 4126 n = 33 LAT = [] file = open("Archivos.txt") for i in range( m ): A.append( [0] * n ) for i in range (m): for j in range(n): LAT[i][j] = float(Lectura Datos Archivos.txt) print LAT Mi problema radica en leer los datos del archivo TXT y agregarlos al codigo previo. De antemano agradezco cualquier colaboración que me puedan brindar. Un ejemplo del archivo de entrada lo pueden encontrar aqui http://pastebin.ca/1945422 Gracias. -- Juan Camilo Hernández Díaz Ingeniero Sanitario No uses la palabra "file" para nombre de la variable. Yo haría: archivo = open("Archivos.txt", "r") Para cada línea que leas del archivo podrías hacer algo así: Si el archivo siempre incorpora la primera línea y no necesitás esos datos, hacé: archivo.readline() Luego: matriz = [] for linea in archivo: linea_de_matriz = [float(dato) for dato in linea.split()] matriz.append(linea_de_matriz) Después podés procesar la matriz cada 33 líneas. No sé si es lo que querías. Saludos. Marcelo ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Lectura y formateo de ASCII
He solucionado el problema de la siguiente forma: 1. *from numpy import ** 2. *data = [[] for dummy in xrange(13)]* 3. *archivo = open('../data/TI_1_0004.txt', 'r')* 4. *archivo.readline()* 5. * * 6. *for line in archivo:* 7. *fields = line.strip().split('\t')* 8. *for i, number in enumerate(fields):* 9. *data[i].append(number)* 10. *rec.array(data,float)* 11. * * 12. *m=int(shape(data)[1])* 13. *n=m/33* 14. *for x in range(m):* 15. *a = data[1][x]* 16. *tmp[1][x] = a* 17. *LONGIT = []* 18. *LONGIT= tmp[1][:]* 19. *array(LONGIT)* 20. *LONGIT.shape = ((m/33),33)* Cualquier sugerencia sobre esta solucion sera bienvenida. -- Juan Camilo Hernández Díaz Ingeniero Sanitario ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Lectura y formateo de ASCII
El código en cursiva no se interpreta bien. :) - Pau Python..., what else? On Tue, Sep 21, 2010 at 10:57 AM, Juan Camilo Hernandez D < camilo.hernan...@gmail.com> wrote: > He solucionado el problema de la siguiente forma: > > >1. *from numpy import ** >2. *data = [[] for dummy in xrange(13)]* >3. *archivo = open('../data/TI_1_0004.txt', 'r')* >4. *archivo.readline()* >5. * >* >6. *for line in archivo:* >7. *fields = line.strip().split('\t')* >8. *for i, number in enumerate(fields):* >9. *data[i].append(number)* >10. *rec.array(data,float)* >11. * >* >12. *m=int(shape(data)[1])* >13. *n=m/33* >14. *for x in range(m):* >15. *a = data[1][x]* >16. *tmp[1][x] = a* >17. *LONGIT = []* >18. *LONGIT= tmp[1][:]* >19. *array(LONGIT)* >20. *LONGIT.shape = ((m/33),33)* > > Cualquier sugerencia sobre esta solucion sera bienvenida. > > -- > Juan Camilo Hernández Díaz > Ingeniero Sanitario > > ___ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Lectura y formateo de ASCII
On Tue, 21 Sep 2010 03:57:14 -0500 Juan Camilo Hernandez D wrote: > He solucionado el problema de la siguiente forma: > >1. *from numpy import ** >2. *data = [[] for dummy in xrange(13)]* >3. *archivo = open('../data/TI_1_0004.txt', 'r')* >4. *archivo.readline()* Mírate http://python-es-faq.wikidot.com/start#toc10 En este caso la numeración de las líneas y los asteriscos es mortal. Después, en el código usas una variable "tmp" que no se ha inicializado antes. ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] Lectura y formateo de ASCII
2010/9/21 Arnau Sanchez > On Tue, 21 Sep 2010 03:57:14 -0500 Juan Camilo Hernandez D wrote: > > > He solucionado el problema de la siguiente forma: > > > >1. *from numpy import ** > >2. *data = [[] for dummy in xrange(13)]* > >3. *archivo = open('../data/TI_1_0004.txt', 'r')* > >4. *archivo.readline()* > > Mírate http://python-es-faq.wikidot.com/start#toc10 > > En este caso la numeración de las líneas y los asteriscos es mortal. > Después, > en el código usas una variable "tmp" que no se ha inicializado antes. > ___ > Python-es mailing list > Python-es@python.org > http://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > Para manejar arrays con velocidad y simplicidad se puede usar numpy. Para leer de forma sencilla ficheros de texto: from numpy import loadtxt [1] [1] http://docs.scipy.org/doc/numpy/reference/generated/numpy.loadtxt.html ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/