[Python-es] Salto de linea

Luis Garcia Merino lgmerino en yahoo.com
Mar Oct 16 14:51:20 CEST 2012


Upssss... perdón, no leí bien tu código...

Si sirve de algo, he ejecutado tu programa y me genera correctamente el csv de salida, sin líneas en blanco...  

Uso GNU/Linux y mi versión de Python es la 2.7.2.



________________________________
 De: Chema Cortes <pych3m4 en gmail.com>
Para: La lista de python en castellano <python-es en python.org> 
CC: Luis Garcia Merino <lgmerino en yahoo.com> 
Enviado: Martes 16 de octubre de 2012 14:13
Asunto: Re: [Python-es] Salto de linea
 
El día 16 de octubre de 2012 13:38, kausdiv <kausdiv en gmail.com> escribió:
> Hola Luis. Gracias por contestarme.
>
> Verás row[2] y 5 se guardan en una lista para ir comprobando si existe la
> linea. Pero no se guarda.
>
> Lo que se guarda es row tal como se lee:
>
> if s in cm:
>                 cn += 1
>     else:
>           cm.append(s)
>           swriter.writerow(row)
>
> Es decir si s (row[2] y row[5]) no esta en la lista cm (donde van estos dos
> registros unidos.) Entonces garda s en la lista cm para comprobar más
> adelante y guarda row tal como se leyó en el archivo de salida.
>
> Pero si ves, row no ha sufrido modificación alguna. Eso es lo que me
> desconcierta. Por cierto probé swriter.writerow(row[:-1]) y no ha
> funcionado.
>
> ¿ que podrá ser ?

Emplea el parámetro 'lineterminator'. Según la documentación,
csv.reader detecta siempre el fin de línea, pero csv.writer emplea por
defecto '\r\n'.

Supongo que usas linux:

   spamreader = csv.reader(csvfile, delimiter=',', lineterminator='\r')



-- 
Hyperreals *R: http://ch3m4.org/blog
Quarks, bits y otras criaturas infinitesimales
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20121016/d1764ccd/attachment.html>


Más información sobre la lista de distribución Python-es