Bonjour à tous,
Je me tourne vers vous car je ne parviens pas a trouver une solution a mon probleme.
A partir d'un fichier csv, je souhaite fusionner les lignes contenant certains doublons en laissant les doublons et en fusionnant les differences.
Ex fichier csv :
description1;nom1|nom2|nom3;type1;eval1;valeur1
description2;nom1|nom2|nom3;type1;eval1;valeur2
description2;nom1|nom2|nom3;type1;eval1;valeur3
Mon algo simplifié pour le moment etait :
For i = 1 i< lines.length (avec lines = string[] contenant chacune des lignes)
for j =1 j<i
Si Nom[i] == nom [j] && type[i] == type[j] && eval[i] == eval[j] && valeur[i] != valeur[j]
alors je fusionne description[i] avec description[j] et valeur[i] avec valeur[j]
et j'ajoute la ligne a la place de la ligne [j-1] dans un tableaufiltré
Sinon si d'autre teste du meme type
meme action
Sinon si j= i-1 on ajoute la ligne [i-2] dans le tableaufiltré
Le probleme est que je ne traite que un seul doublon donc si un doublon arrive apres il ne se fait pas par rapport a ceux trouvé avant.
resultat :
description1|description2;nom1|nom2|nom3;type1;eval1;valeur1|valeur2
description2;nom1|nom2|nom3;type1;eval1;valeur2|valeur3
Resultat voulu :
description1|description2;nom1|nom2|nom3;type1;eval1;valeur1|valeur2|valeur3
Si quelqu'un a une idée, une piste, je suis preneur.
La fusion de donnée n'est pas le probleme c'est surtout l'algo pour parcourir le fichier. Je pensais a mettre dans un tableau les binomes i et j des lignes a traité et a la fin des 2 boucles faire une boucle sur les binomes pour faire les differents traitement.
Merci d'avance pour ceux que ca intéresse.
Partager