On Thu, 18 Jul 2013 10:13:27 +0200 Eric Chatellier <chatellier@codelutin.com> wrote:
(second repost) scond post tu veux dire ou repost ;)
Bonjour,
Peut-on, avec nuiton-csv lire des fichiers: - où la casse des entêtes peut bouger
- où certaines colonnes sont optionnelles
1) j'ai déjà fait ça mais je ne sais plus trop où, il faut que je recherche, mais globalement, tu peux aussi utiliser la méthode décrite dans le 3) 2) oui cela est déjà possible, via la méthode org.nuiton.util.csv.ImportableColumn#isIgnored()
- où certaines colonnes peuvent avoir deux(ou plusieurs) noms ?
Concrètement, dans certains fichiers j'ai: "cout total", et dans d'autre j'ai "cout total AVEC carburant" et "cout total SANS carburant" "cout total SANS carburant" est optionnelle, "cout total" = "cout total AVEC carburant"
3) Si je comprends bien, tu ne sais pas à l'avance si la colonne sera cout totale ou cout totale AVEC carburant ? Si tel est le cas tu peux t'en sortir : la méthode org.nuiton.util.csv.ImportModel#pushCsvHeaderNames te retourne la liste des colonnes trouvées dans l'entête du fichier csv, à toi ensuite de construire le modèle csv d'import qui va bien. En conclusion si tu finalises la construction de ton modèle d'import (a.k.a fait les ajustement qui vont bien) après le passage dans la méthode pushCsvHeaderNames tu dois pouvoir gérer tous les cas un peu flottant de ton fichier entrant. Est-ce que cela te convient (/ suffit) ? Cela serait la bonne occasion d'étoffer un peu la documentation (très maigre) de ce projet. Si tu le veux bien, je te suggère d'y ajouter ces cas d'utilisations et on pourra (ensemble?) y mettre le code qui va bien pour répondre à ton besoin. tony.