[Python-es] Lectura y formateo de ASCII

2010-09-20 Thread Juan Camilo Hernandez D
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

2010-09-20 Thread Angel Claudio Alvarez
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

2010-09-20 Thread Marcelo Barbero
___

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

2010-09-21 Thread Juan Camilo Hernandez D
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

2010-09-21 Thread Pau Cervera
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

2010-09-21 Thread 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/


Re: [Python-es] Lectura y formateo de ASCII

2010-09-21 Thread Kiko
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/