On Sun, Jul 21, 2013 at 3:32 PM, Juan <[email protected]> wrote:
> Hola, quiero leer solo la ultima linea de un fichero CSV (solo la linea que
> se actualizo por ultima vez) y no tengo claro cual sería la mejor solución,
> este es el código actual:
>
> #--------------------------------
> # leer fichero CSV
> #--------------------------------
> def leer_datos():
> y =0
> lectura = csv.reader(open("data.csv",
> for index,row in enumerate(lectura)
> y +=1
> print 'Linea: ' + str(linea + 1)
> print 'Temperatura' + row[0] + ', Humedad: ' + row[1] + ',
> presion: ' + row[2]
>
>
Me parece correcta la idea de recorrer el archivo hasta el final.
La función enumerate() ya genera un índice y no es necesario inicializar
`y` e incrementarlo en cada iteracción. Si se añade 1 como segundo
argumento, el índice empieza por 1 en vez de en 0 así no hay que sumar 1.
Para iterar por el bucle `for` sin hacer nada se puede utilizar instrucción
`pass`.
También creo que queda mejor utilizar la interpolación de cadenas en el
print (el operador %) en vez de concatenar cadenas y valores.
Quedaría así:
f = open('data.csv')
reader = csv.reader(f)
for n, row in enumerate(reader, 1):
pass
print u'Línea %s' % n
print u'Temperatura, %s, Humedad: %s, Presión: %s' % (row[0], row[1],
row[2])
> gracias
>
> _______________________________________________
> Python-es mailing list
> [email protected]
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
--
Miguel González
[email protected]
PGP ID: EEBD05D3
_______________________________________________
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/