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 <[email protected]>
Para: La lista de python en castellano <[email protected]> 
CC: Luis Garcia Merino <[email protected]> 
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 <[email protected]> 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
_______________________________________________
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a