1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
| import csv
# créer des datas (SANS ENTETE)
clients = [
# id, nomm, quantité
["4,7190E+1", "truc", 45],
["4,7190E+2", "machin", 45],
["4,7190E+3", "bidule", 45],
]
fournisseurs = [
# id, nom, ?, quantité
["4,7190E+1", "truc", 0, 145],
["4,7190E+3", "bidule", 0, 199],
["9,9999E+9", "nouveau", 0, 277],
]
with open('client.csv', 'w') as csvfile:
writer = csv.writer(csvfile)
writer.writerows(clients)
with open('fournisseur.csv', 'w') as csvfile:
writer = csv.writer(csvfile)
writer.writerows(fournisseurs)
###### On charge les csv
clients = []
with open('client.csv') as f:
reader = csv.reader(f) # DictReader avec entete
for row in reader:
clients.append(row)
fournisseurs = {}
with open('fournisseur.csv') as f:
reader = csv.reader(f) # DictReader avec entete
for row in reader:
# TODO pour alléger la bete, on ne recupère que les colonnes id , nom et nombre
fournisseurs[row[0]] = row # [1:]
## debut de l'ENORME moulinette ...
print("fournisseur:", fournisseurs, "\n")
print("Actuel:", clients)
for client in clients:
id = client[0]
print("\t", id, client, "update ?")
fournisseur = fournisseurs.get(id)
if not fournisseur:
client[2] = 0
else:
client[2] = fournisseur[3]
print("Nouveau: ", clients)
# Un peu de logs sinon c'était trop simple
fournisseurs_id = {i[0] for i in fournisseurs.items()}
clients_id = {i[0] for i in clients}
print()
print ("LOG: pas disponible sur le site web ! :", fournisseurs_id - clients_id, "\tAjouter ces produits au catalogue ?")
print ("LOG: existe plus ? :", clients_id - fournisseurs_id, "\tstock est passé à zéro")
# on sauvegarde
with open('client.actualisé.csv', 'w') as csvfile:
writer = csv.writer(csvfile)
writer.writerows(clients) |