Bueno, el \r\n lo puedes quitar también en el código... y quizás por eso 
tampoco te funcionaba lo del row[:-1], porque \r\n son dos caracteres y con eso 
sólo quitas el último, si quieres, prueba con row[:-2].



________________________________
 De: kausdiv <kaus...@gmail.com>
Para: Luis Garcia Merino <lgmer...@yahoo.com>; La lista de python en castellano 
<python-es@python.org> 
Enviado: Martes 16 de octubre de 2012 15:12
Asunto: Re: [Python-es] Salto de linea
 

Gracias de nuevo Luis.

No se qué puede ser. Si veo el archivo de entrada (aa.csv) no hay
      lineas en blanco. 

Cosas de Windows, quizá. :-)

como no lo he podido solucionar he optado por buscar y reemplazar
      con notepad++ los calaractere \r\n por nada y así se han eliminado
      las lineas en blanco.
Al menos salgo del paso.

Gracias a todos. :-)
Seguiré viendo como resolverlo para próximas aplicaciones.

El 16/10/2012 14:51, Luis Garcia Merino escribió:

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 <pych...@gmail.com>
>Para: La lista de python en castellano <python-es@python.org> 
>CC: Luis Garcia Merino <lgmer...@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 <kaus...@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
>
>
>
>
>
>_______________________________________________
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/

Responder a