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

Linux Discussion :

Problème lors du découpage d'un fichier CVS


Sujet :

Linux

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 6
    Points : 1
    Points
    1
    Par défaut Problème lors du découpage d'un fichier CVS
    Bonjour à tous, je suis nouveau dans ce forum et je voulais savoir si vous pouviez me donner une solution à mon problème.

    Mon problème est le suivant :

    J'ai un fichier CSV qui contient les enregistrements suivants :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    KALIM;12/01/2010;Voiture
    ADAM;16/01/2010;Moto
    DODO;12/01/2010;BIp
    KALIM;12/01/2010;Voiture
    ADAM;16/01/2010;Moto
    DODO;18/01/2010;BIp
    Le but c'est de découper ce fichier CSV en sous fichier CVS par date.

    Le résultat souhaité est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    1er fichier CVS contient : 
    KALIM;12/01/2010;Voiture
    DODO;12/01/2010;BIp
    KALIM;12/01/2010;Voiture
    2éme fichier CSV contient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ADAM;16/01/2010;Moto
    ADAM;16/01/2010;Moto
    et le 3éme contient :
    J'ai essayé d'utiliser la commande csplit mais j'arrive pas à résoudre le problème avec.

    Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de becket
    Profil pro
    Informaticien multitâches
    Inscrit en
    Février 2005
    Messages
    2 854
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien multitâches
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 2 854
    Points : 5 915
    Points
    5 915
    Par défaut
    avec awk :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    BEGIN{
    FS=";"
    }
    {
            mydate=$2
            mydate=gsub("/","-",mydate)
            print  $0 >> mydate".cvs"
    }

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    J'ai essayé ton code mais le système me génère l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    syntax error The source line is 1.
     The error context is
     <<<             >>> BEGIN
     awk: Quitting
     The source line is 1

  4. #4
    Expert confirmé
    Avatar de becket
    Profil pro
    Informaticien multitâches
    Inscrit en
    Février 2005
    Messages
    2 854
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien multitâches
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 2 854
    Points : 5 915
    Points
    5 915
    Par défaut
    Désolé, je n'ai pas de boule de cristal. Tu vas devoir donner plus d'information ....

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Le but c'est de créer plusieurs fichiers csv par date (c'est un champ qui se trouve au niveau du fichier d'entrée) à partir d'un fichier d'entrée

  6. #6
    Expert confirmé
    Avatar de becket
    Profil pro
    Informaticien multitâches
    Inscrit en
    Février 2005
    Messages
    2 854
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien multitâches
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 2 854
    Points : 5 915
    Points
    5 915
    Par défaut
    Et tu penses que le script que je t'ai proposé fait le café ? Explique moi ce que tu fais avec le plus de détails possibles

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    ben, j'ai un fichier en entrée nommé exemple.txt qui contient les enregistrement suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    aaa;12/07/2010;bbb;
    aaa;16/07/2010;bbb;
    aaa;12/07/2010;bbb;
    aaa;12/07/2010;bbb;
    aaa;16/07/2010;bbb;
    aaa;18/07/2010;bbb;
    aaa;12/07/2010;bbb;
    Je lance la commande awk suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    awk 'FS=";"
    {       
            mydate=$2
            mydate=gsub("/","-",mydate)
            print  $0 >> mydate".cvs"
    }' exemple.txt
    par la suite le systéme me généré un message d'erreur comme quoi le fichier nommé mydate".cvs" est inexistant, et lorsque j'ai changé le mydate".cvs" par "resultat.cvs" ca marche, mais il copie tout les enregistrements sans prendre en considérations les dates.

    Le but c'est de créer plusieurs fichier par date, et script que vous m'avez proposés crée un seul, je sais que je vous dérange je suis vraiment désolé.

  8. #8
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Voilà je cherche à découper un fichier csv et j'ai cru comprendre que le awk pourrait être une bonne solution.
    Seulement je suis déjà pas vraiment fort en ksh, je suis vraiment un niewbie total en awk, et je n'ai rien
    compris aux quelques exemples que j'ai trouvé sur le net, voilà donc pourquoi je viens vous demander de l'aide ^^"

    Mon fichier csv se présente comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    aaa;12/07/2010;bbb;
    aaa;16/07/2010;bbb;
    aaa;12/07/2010;bbb;
    aaa;12/07/2010;bbb;
    aaa;16/07/2010;bbb;
    aaa;18/07/2010;bbb;
    aaa;12/07/2010;bbb;
    etc....
    Et je dois obtenir autant de fichier par date(qu'on pourra nommer resultat12/07/2010.csv, resultat16/07/2010.csv,resultat18/07/2010.csv)

    resultat12/07/2010.csv contiendra :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    aaa;12/07/2010;bbb;
    aaa;12/07/2010;bbb;
    aaa;12/07/2010;bbb;
    aaa;12/07/2010;bbb;
    resultat16/07/2010.csv contiendra :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    aaa;16/07/2010;bbb;
    aaa;16/07/2010;bbb;
    resultat18/07/2010.csv contiendra :


    j'espère que vous saurez m'aidez, je vous en remercie d'avance

  9. #9
    Expert confirmé
    Avatar de becket
    Profil pro
    Informaticien multitâches
    Inscrit en
    Février 2005
    Messages
    2 854
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien multitâches
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 2 854
    Points : 5 915
    Points
    5 915
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    BEGIN{
    FS=";"
    }
    {
             mydate=$2
             gsub("/","-",mydate)
            print  $0 >> mydate".cvs"
    }

  10. #10
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup pour ton aide

  11. #11
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Points : 19 452
    Points
    19 452
    Par défaut
    Bonjour.

    Citation Envoyé par lahjouji.hassan Voir le message
    Merci beaucoup pour ton aide
    Le problème est-il ?

    Cordialement,
    Idriss

Discussions similaires

  1. Problème de noms lors du découpage d'un fichier texte
    Par fasfousba dans le forum Général Java
    Réponses: 3
    Dernier message: 09/01/2012, 15h09
  2. Réponses: 2
    Dernier message: 25/09/2007, 15h09
  3. Problème lors d'upload de gros fichiers
    Par Haomaru_91 dans le forum ASP.NET
    Réponses: 5
    Dernier message: 22/05/2007, 17h12
  4. Réponses: 15
    Dernier message: 26/12/2006, 16h27
  5. Réponses: 3
    Dernier message: 26/02/2006, 23h53

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