Python - Diccionario a partir de un archivo csv

 
Vista:

Diccionario a partir de un archivo csv

Publicado por Cristofer (1 intervención) el 23/06/2018 05:00:13
Hola,necesito ayuda para crear un diccionario a partir de un archivo CSV
el archivo esta ordenado asi:
1.N° Boleta: Es el número de boleta.
2. RUT cliente: Identifica el cliente que realiza la compra.
3. Código producto: Identifica el producto comprado.
4. Cantidad: Indica el número de unidades comparas del producto identificado.
5. Día: Es el día de esa compra.
6. Mes: Es el mes de esa compra.

Es decir, en la columna 1 esta el numero de boleta, en la 2 el rut del cliente y así sucesivamente.
El diccionario debe tener como llave el N° de boleta y con eso desplegar toda la otra información, el problema es que en el archivo ventas(CSV) se repite numero de boleta. Cuando esto pasa, indica que en la misma compra el cliente se llevó una serie de productos. Cuando aparece un nuevo número de
boleta, se debe entender que es una nuevo compra.

Este es mi codigo:
1
2
3
4
5
6
7
8
9
import csv
archivo3=open('ventas.csv','r')
 
lector3= csv.reader(archivo3, delimiter=';')
 
for fila in lector3:
    dicv[fila[0]] = fila[1],fila[2],fila[3],fila[4],fila[5]
 
archivo3.close

Al momento de escribir mi código logro que se forme un diccionario, pero solo muestra un producto del total de productos de esa boleta, me explico:
Si tenemos esta boleta
1000;19418400-6; 178404; 6; 1; 1
1000; 19418400-6; 175268; 6; 1; 1
1000; 19418400-6; 148045; 5; 1; 1
1000; 19418400-6; 125355; 1; 1; 1
1000; 19418400-6; 178404; 6; 1; 1
1000; 19418400-6; 178404; 10; 1; 1

El diccionario sera: {'1000': ('19418400-6', '178404', ' 6' , '1' , '1')} es decir, solo muestra el primer objeto comprado por la persona y los otros no.
Espero haber sido lo mas claro posible y que por favor me ayuden con esto
Muchas gracias
PD: Adjunto el archivo CSV
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Diccionario a partir de un archivo csv

Publicado por xve (1646 intervenciones) el 23/06/2018 12:33:33
Hola Cristofer, si, es correcto lo que te pasa, ya que lo que no puede ser, es que haya en un diccionario dos keys iguales, por lo que tendrás el dicv["1000"] con el último valor introducido.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar