Hola.
os comento algo que me pasa casi siempre que uso ficheros. :-(
Tengo un archivo CSV donde hay muchas lineas repetidas. He preparado el
siguiente programa que busca los registros repetidos.
La idea es que se crea un nuevo archivo "bb.css" donde van todos los
registros menos los repetidos.
Buenas,
supongo que es porque el archivo CSV, al final de cada fila, tiene un salto de
línea. Imagino también que row[5] es la última columna del CSV y, por lo tanto,
tiene ese salto de línea. Podrías solucionarlo haciendo:
s = row[2]+" "+row[5][:-1]
en vez de
s = row[2]+" "+row[5]
Yo us
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)
El día 16 de octubre de 2012 13:38, kausdiv 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:
>
Up... 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
Para: La lista de python en castel
Hola Chema. Muchas gracias.
No ha funcionado.
Uso windows. :-(
he probado también antes de guardar:
row.pop()
swriter.writerow(row)
para que elimine la ultima posición de la lista, pero aún asi nova.
hemirado con notepad++ y las lineas tienen:
la lina ok termina con el caracer (cr)
las lineas
El 16 de octubre de 2012 13:38, kausdiv 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:
>
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
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
Para: Luis Garcia Merino ; La lista de