Bonjour à tous,
Pour mon travail j'ai écrit un script pour croiser les données de deux CSV (en gros un presta nous donne des stats de consultation de document avec un ID par client et je dois matcher ces stats avec les VRAIS ID client.
Je souhaite ensuite inscrire dans un csv le resultat (une ligne par client avec le nombre de pages lues)
J'ai donc le code :
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 | import csv import os print("Bienvenue") compte=csv.reader(open("compte.csv","r"),delimiter=";") consommation=csv.reader(open("presta.csv","r"),delimiter=";") result_name="stats.csv" result=open(result_name,"w", newline='') writer=csv.writer(result) id=0 nom="" consult=0 writer.writerow(("Client","Pages lues")) for row in compte: id=row[0] nom=row[2] for row in consommation: if row[6]==id: consult+=int(row[4]) writer.writerow((nom,consult)) consult=0 print("Calcul terminé !") os.system("pause") |
Le premier csv est de la forme (celui du presta):
1 2 | date;nom revue;osef;osef;pagesvues:osef;ID-presta;osef date;nom revue;197;;1;;123456;R |
Celui interne est de la forme :
1 2 | num-presta;vrai ID client;nom client;.... 123456;XBA7951;PONEY LUBRIQUE;.... |
(les … étant pour les autres colonnes qui ne servent à rien dans l'histoire)
Le script tourne bien sans erreur et inscrit dans le csv les resultats cependant seul le premier résultat remonte les pages vues tous les autres clients sont tous à 0 (il y a + de 10000 lignes dans le vrai fichier)
Une idée de pourquoi ?
Merci