| 12
 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) |