IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Convertisseur CSV en tab delimited


Sujet :

C#

  1. #1
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut Convertisseur CSV en tab delimited
    Bonjour

    Ce n'est peut etre pas le meilleur forum pour cette question mais comme c'est un besoin qui peut etre utile partout j'essaye !

    Je dois convertit plusieurs dizaines de fichiers csv ("blabla";"blibli") vers du tab delimited

    Bien sur je pourrais ecrire un parseur pour ca mais je sais que ce n'est pas aussi trivial que ca en a l'air

    Donc si quelqu'un a une piste, je suis preneur

    Merci
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  2. #2
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Points : 2 927
    Points
    2 927
    Par défaut
    D'après moi, ce qui pourrait ne pas être trivial serait :
    - des champs multilignes
    - des encodages différents
    Tu as l'intention d'en rencontrer ?

    Quoi qu'il en soit, pour la lecture du fichier, voilà une piste : A Fast CSV Reader
    Je n'ai jamais pris le temps de l'essayer, mais d'après la présentation c'est un lecteur très rapide.

    Une fois que tu peux lire le fichier correctement, un streamwriter devrait faire l'affaire pour générer tes fichiers tab delimited (quelle drôle d'idée de vouloir générer du tab delimited...).

  3. #3
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Moi j'utilise la bibliothèque nommée FileHelpers qui fait ça très très bien. Tu crées un objet qui va servir d'élément pour la lecture, tu recopies les données dans des objets qui seront eux dédiés à l'écriture. Et ensuite, tu laisses les lecteurs/écrivains de FileHelpers faire leur boulot.
    Tes classes doivent simplement être décorées de quelques attributs.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  4. #4
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Merci Skalp et Saumon agile

    Pour Skalp

    Je connaissais le lien que tu m'a envoyé ; c'est une véritable usine a gaz !!

    Les CSV sont tres casse gueulle car

    1- Tous les champs ne sont pas forcément entre quotes
    "mon nom";"ma rue";128;"Uccle"

    2- Parfois on peut avoir des quotes "embedded"

    "mon nom";"ma "belle" rue";128;"Uccle"
    ou pire
    "mon nom";"ma "belle;tres belle" rue";128;"Uccle"


    3- J'ai déja eu des virgules au lieu de ;

    "mon nom","ma rue",128,"Uccle"

    Bref le tab delimited est plus facilement traitable


    Pour saumon : je vais jeter un oeil a cette librairie
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  5. #5
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    La bibliothèque dont je parlais gère nativement ce genre de problèmes.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  6. #6
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Merci Saumon Agile
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

Discussions similaires

  1. [PowerShell] Export en CSV - Export-csv erreur de "Delimiter"
    Par leo_archange dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 19/12/2014, 14h01
  2. csv dans un tab
    Par soryo dans le forum Langage
    Réponses: 3
    Dernier message: 30/12/2011, 06h18
  3. Convertisseur xls -> csv
    Par Bayard dans le forum Excel
    Réponses: 1
    Dernier message: 31/12/2008, 09h20
  4. Réponses: 2
    Dernier message: 06/11/2006, 09h55
  5. Gérer le ALT-TAB ?
    Par Magus (Dave) dans le forum DirectX
    Réponses: 15
    Dernier message: 04/01/2004, 00h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo