TransWikia.com

Como anexar items a un fichero csv con python

Stack Overflow en español Asked on December 20, 2021

Tengo dos ficheros csv, uno seria algo como esto:

id;stock;precio_coste;nombre;precio_impuesto_incluido;url_imgs(x,y,z);categoria;
01;90;100;producto;150;https://paginaweb/imagen.html;cat_producto;
etc...
etc...

Csv 2:

id;img1;img2;img3;img4;img5;
01;https://paginaweb/imagen1.html;https://paginaweb/imagen2.html;https://paginaweb/imagen3.html;https://paginaweb/imagen4.html;https://paginaweb/imagen5.html;
etc...
etc...

Lo que yo quiero es dependiendo del ID del producto, anexar sus correspondientes imagenes ya que en el primer csv solo hay una imagen (quiero poner las 5 imgs). Son mas de 7000 referencias y cada dia va cambiando el stock, el precio, etc.

One Answer

La pregunta no da muchos detalles de lo que quieres obtener al final, pero se debe de utilizar el módulo CSV para lograr lo que se quiere hacer.

La librería CSV convierte cada línea del archivo CSV en una lista. Luego, ya como lista, se le pueden agregar e insertar elementos en cualquier posición.

Lo que deberías hacer es leer el segundo archivo y extraer los datos en una lista de diccionarios de la forma:

 data = ['id1': {'img1':'url', 'img2':'url2', ...},
         'id2': {'img1':'url', 'img2':'url2', ...},
         ...]

Luego, harías el mismo procedimiento con el primer archivo pero el forma de lista de listas:

info = [[01; 90; 100; ...], 
        [02; 82; 123; ...]]

Ya luego tendrías que barrer las listas, leer el elemento 0, buscar en el diccionario los links de las imagenes de ese id y insertar esa información en cada lista, para volver a guardar el archivo nuevamente con csv pero esta vez un writer:

file = open("archivo.csv", mode='w', newline='')
reader = csv.reader(separator=";")
reader.writerow("AQUI COLOCAR EL ENCABEZADO")
reader.writerows(info)
file.close()

Answered by Luis Munoz on December 20, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP