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/
