Tengo un archivo CSV con varias entradas. Ejemplo csv:Python: eliminar entradas duplicadas de CSV
user, phone, email
joe, 123, [email protected]
mary, 456, [email protected]
ed, 123, [email protected]
Estoy tratando de eliminar los duplicados por una columna específica de la CSV sin embargo, con el código de abajo Recibo un "índice de la lista fuera de alcance". Pensé que al comparar row[1]
con newrows[1]
encontraría todos los duplicados y solo volvería a escribir las entradas únicas en file2.csv
. Sin embargo, esto no funciona y no puedo entender por qué.
f1 = csv.reader(open('file1.csv', 'rb'))
newrows = []
for row in f1:
if row[1] not in newrows[1]:
newrows.append(row)
writer = csv.writer(open("file2.csv", "wb"))
writer.writerows(newrows)
Mi resultado final es tener una lista que mantiene la secuencia del archivo (set
no va a funcionar ... ¿verdad?), Que debería tener este aspecto:
user, phone, email
joe, 123, [email protected]
mary, 456, [email protected]
creo una base de datos sería muy útil en este caso. Python trabaja OOB con SQLite, ¿sabes? – NullUserException
cuando algo no funciona, siempre necesita describir lo que sucedió. Es un error? ¿no es nada? ¿es lo incorrecto? –
Lo hice ... mi código actualmente produce un índice de lista fuera de rango. Esto no tiene sentido ya que está buscando la segunda "columna" con la fila [1]. – serk