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/