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

Scripts/Batch Discussion :

[PowerShell]Utiliser une colonne d'un fichier csv


Sujet :

Scripts/Batch

  1. #1
    Nouveau membre du Club Avatar de Léponge85
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 77
    Points : 36
    Points
    36
    Par défaut [PowerShell]Utiliser une colonne d'un fichier csv
    Bonjour

    Je suis désoler avec mes questions mais je galére trop.
    Voila j'ai un fichier csv qui contient plusieurs colonne avec énormement de ligne et mais je doit utiliser juste une colonne comment faire .
    Je sais que pour extraire la commande est :

    import-csv

    mais pour utiliser une colonne je sais pas du tout.
    Aidez moi svp

    Merci beaucoup

  2. #2
    Rédacteur/Modérateur
    Avatar de NorocBzh
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juin 2008
    Messages
    834
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 834
    Points : 1 265
    Points
    1 265
    Par défaut
    Salut,

    Pour parcourir ton fichier csv, il faut utiliser "for"
    Pour choisir la colonne que tu veux extraire, il faut utiliser "tokens" et "delims"

    Exemple :
    fichier testons.csv :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    l1c1;l1c2;l3c3;
    l2c1;l2c2;l2c3;
    l3c1;l3c2;l3c3;
    On veut récupérer la deuxième colonne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For /f "Tokens=2 delims=;" %%a in ('type "testons.csv"') do (
    echo %%a>>colonne2.txt
    )

  3. #3
    Nouveau membre du Club Avatar de Léponge85
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 77
    Points : 36
    Points
    36
    Par défaut
    Merci pour ta réponse je vais essayer maintenant si sa fonctionne.
    Je te tiens au courant.
    Merci beaucoup

  4. #4
    Nouveau membre du Club Avatar de Léponge85
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 77
    Points : 36
    Points
    36
    Par défaut
    Je crois que j'ai un probleme, sa me fait ceci :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    PS C:\test> For /f "Tokens=2 delims=;" %%a in ('type "accounts.csv"') do (
    « ( » d'ouverture manquante après le mot clé « for ».
    Au niveau de ligne : 1 Caractère : 5
    + For / <<<< f "Tokens=2 delims=;" %%a in ('type "accounts.csv"') do (

  5. #5
    Nouveau membre du Club Avatar de Léponge85
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 77
    Points : 36
    Points
    36
    Par défaut Suite fichier csv
    Bonjour tout le monde

    Voila j'ai un fichier csv de la forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Email;Fullname
    email01@domain.fr;test01
    email02@domain.fr;test02
    email03@domain.fr;test03
    Et je cherche a faire pour chaque ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    test01@domain.fr = email01@domain.fr
    Mon probleme est que je sais pas comment faire pour recuperer independament chaque element de mon fichier csv.
    Pouvez vous m'aider svp je suis completement perdu.

    Merci beaucoup pour votre aide.

  6. #6
    Expert éminent
    Avatar de shawn12
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Avril 2006
    Messages
    3 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2006
    Messages : 3 368
    Points : 6 800
    Points
    6 800
    Par défaut
    Citation Envoyé par Léponge85 Voir le message
    Je crois que j'ai un probleme
    Comment exécute-tu le code source qu'on ta donné ?

    Il te faut l'enregistrer dans un fichier portant l'extension .bat et ensuite lancer ce fichier. C'est bien ce que tu fait ?

  7. #7
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Salut,
    Citation Envoyé par Léponge85
    Voila j'ai un fichier csv de la forme :
    Le cmdlet Import-csv utilise la virgule comme séparateur de champs, la prochaine version proposera un argument pour spécifier un séparateur diffrent :
    Citation Envoyé par Léponge85
    Et je cherche a faire pour chaque ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    test01@domain.fr = email01@domain.fr
    Une solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $Lignes=Import-Csv e.txt
    $Lignes
    #Email                                                       Fullname
    #-----                                                       --------
    #email01@domain.fr                                           test01
    #email02@domain.fr                                           test02
    #email03@domain.fr                                           test03
     
    $Lignes| % {"{0}={1}" -F $_.Email,$_.Fullname}
    #email01@domain.fr=test01
    #email02@domain.fr=test02
    #email03@domain.fr=test03

Discussions similaires

  1. Ajout d'une colonne dans un fichier csv
    Par sorilazer dans le forum Shell et commandes GNU
    Réponses: 11
    Dernier message: 12/11/2012, 18h08
  2. Récupérer une colonne d'un fichier CSV à l'aide de l'entête
    Par drake56 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 06/01/2010, 20h23
  3. resultat d'une requete dans un fichier csv
    Par PAYASS59 dans le forum Requêtes
    Réponses: 1
    Dernier message: 21/09/2005, 21h14
  4. [débutant] nombre de colonne dan sun fichier csv
    Par mandagor dans le forum C++
    Réponses: 18
    Dernier message: 15/06/2005, 15h42
  5. Mise à jour d'une table avec un fichier csv
    Par blackangel dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 26/05/2005, 14h46

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