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

Langage Perl Discussion :

Modification d'un fichier csv ?


Sujet :

Langage Perl

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 98
    Points : 47
    Points
    47
    Par défaut Modification d'un fichier csv ?
    Bonjour à toutes et à tous,

    Je débute en perl et je n'arrive pas à trouver la solution pour effectuer un travail. Il est possible aussi que ce que je cherche à faire ne soit pas "facile" voir "impossible" .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Mon fichier analyse.csv se présente sous cette forme :
     
    XHGOURSOR;9 espaces   ;XLTVXZOZI;21 espacesT;20080701 20espaces
     
    Peut-on créer un nouveau csv par exemple analyse2.csv avec un traitement perl pour obtenir :
     
    "7H1G7E22ZI";"4KGCXGMNFU";"O";"2008-08-06" plus d'espaces
    Merci pour votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Utilises les expressions régulières.

    En pas propre et pas optimisé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $p =~ s/\s*//g;
    $p =~ s/;*(.*);*/"$1"/ig;
    Je pense que quelqu'un va pouvoir réduire ça en une seule regex.....

  3. #3
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par kuzco Voir le message
    Je pense que quelqu'un va pouvoir réduire ça en une seule regex.....
    Je ne ferais pas ça sans avoir de plus amples détails sur le problème :
    • Est-ce que tous les champs du csv sont formatés aussi simplement (sans "") ?
    • Est-ce que les espaces à l'intérieur des champs doivent être supprimés ?
    • Doit-on supprimer les espaces au début et à la fin d'un champs (ou seulement au début) ?
    • Que fait-on quand un champ ne contient que des espaces ? On le supprime totalement ou on laisse le champ vide ;""; ?


    Selon les réponses à ces questions, la réponse peut varier d'une regex d'une ligne à un script de quelques lignes utilisant un module comme Text::CSV_XS.

    --
    Jedaï

Discussions similaires

  1. Modification dans un fichier csv en php
    Par louise70 dans le forum Langage
    Réponses: 1
    Dernier message: 13/02/2015, 12h06
  2. Modifications sur un fichier CSV en Input (PDI)
    Par Nesrine_SM dans le forum kettle/PDI
    Réponses: 0
    Dernier message: 30/08/2012, 11h45
  3. Modification d'un fichier csv
    Par tom77380 dans le forum Général Python
    Réponses: 10
    Dernier message: 05/12/2011, 19h05
  4. Modification d'un fichier CSV
    Par Tobear91 dans le forum Langage
    Réponses: 2
    Dernier message: 12/02/2011, 18h32
  5. fichier CSV modification des données.
    Par suya95 dans le forum Excel
    Réponses: 8
    Dernier message: 26/07/2006, 12h22

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