Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/01/2017, 11:53
Avatar de Hyemin
Hyemin
 
Fecha de Ingreso: agosto-2014
Mensajes: 147
Antigüedad: 9 años, 8 meses
Puntos: 0
llaves repetidas en una coleccion de diccionarios

Tengo un problema, importe un CSV con un listado de cosas, tiene 255 registros

Quiero generar una coleccion de diccionarios [{'item': cantidad}, 'item2': ]

como en los registros se repiten los items y yo los quiero solo una vez es que puse

Código Python:
Ver original
  1. for o in registros:
  2.     if  o not in listado:
  3.         veces = registros.count(o)
  4.         listado.append({o, veces})

Si 'o' no esta en la lista entonces hago el count de 'o' y lo agrego al listado.

El count lo hace bien pero me genera 255 elementos (uno por cada registro) quedandome entonces por ejemplo {item1: 100, item2 : 90, item3 : 50, item1 : 100}

No quiero que me guarde las llaves repetidas




Código Python:
Ver original
  1. filename = 'registros.csv'
  2.  
  3.  
  4. registros = []
  5.  
  6. #Abrimos el CSV como fichero
  7. with open(filename,  encoding='utf8')  as f:
  8.  
  9.     reader = csv.reader(f)
  10.     header_row = next(reader)
  11.  
  12.     # Recorro todaslas lineas del CSV
  13.     for row in reader:
  14.         registro= row[6]
  15.         oregistros.append(registro)
  16.  
  17. listado = []
  18.  
  19. for o in registros:
  20.     if  o not in listado:
  21.         veces = registros.count(o)
  22.         listado.append({o, veces})