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 :

Ajouter colonne fichier csv [Batch]


Sujet :

Scripts/Batch

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2018
    Messages : 8
    Par défaut Ajouter colonne fichier csv
    Bonjour,

    j'ai un fichier csv du style :
    Prenom,Nom,EmailAdress
    Jean,Blabla,jean.blabla@test.com
    Marc,Test,marc.test@test.com
    etc...

    J'aimerais pouvoir ajouter une colonne avec comme header 'Login' et en fait j'aimerais que cette colonne soit une copie de la colonne email, du coup j'aurai :
    Prenom,Nom,EmailAdress,Login
    Jean,Blabla,jean.blabla@test.com,jean.blabla@test.com

    J'ai déjà fait un batch qui m'avait permis de supprimer des colonnes, est-ce que je peux modifier ce batch pour avoir le résultat voulu ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    @echo off
    setlocal EnableDelayedExpansion
    
    (for /F "delims=" %%a in (test.csv) do (
       set "input=%%a"
       set "output="
       for /L %%b in (1,1,3) do (
          for /F "tokens=1* delims=," %%c in ("!input!") do (
             set "output=!output!,%%c"
             set "input=%%d"
          )
       )
       echo !output:~1!
    )) > output.csv
    Merci d'avance

  2. #2
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    @echo off
    setlocal enabledelayedexpansion
    
    set /a $count=0
    
    (for /f "tokens=1-3 delims=," %%a in (test.csv) do (
       if !$count!==0 (set $ligne=%%a,%%b,%%c,login
    	) else (
    	set $ligne=%%a,%%b,%%c,%%c)
    	echo !$ligne!
    	set /a $count+=1
    	)
    )>out.csv
    La sortie se trouve dans out.csv


  3. #3
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2018
    Messages : 8
    Par défaut Résolu
    Nickel merci beaucoup !

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2018
    Messages : 8
    Par défaut Changement batch
    Bonjour,

    je relance ce sujet car j'aimerai pouvoir améliorer le script que l'on m'avait proposé. Maintenant dans mon fichier gmail.csv j'ai d'autres colonnes qui suivent, exemple :
    Prenom,Nom,EmailAdress, Login, Lieu, Age, Code, Taille
    Jean,Blabla,jean.blabla@test.com,jean.blabla@test.com,Test,13,CO1,155
    Marc,Test,marc.test@test.com,marc.test@test.com,Test,20,CO2,170
    etc...

    J'aimerai pouvoir copier la colonne "Code" pour la placer à coté de Login. J'ai déjà essayer de modifier le script mais il ne marche pas complètement car j'ai des lignes qui récupèrent la bonne colonne et d'autres non :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    @echo off
    setlocal enabledelayedexpansion
    
    set /a $count=0
    
    (for /f "tokens=1-22 delims=," %%a in (gmail.csv) do (
       if !$count!==0 (set $ligne=%%a,%%b,%%c,Login, Employee ID
    	) else (
    	set $ligne=%%a,%%b,%%c,%%c,%%f)
    	echo !$ligne!
    	set /a $count+=1
    	)
    )>out.csv
    pause
    Pouvez-vous m'aider ?
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ajout de fichiers CSV avec pyinstaller
    Par Julienbot dans le forum Déploiement/Installation
    Réponses: 0
    Dernier message: 26/06/2015, 17h24
  2. Extraction colonnes fichier csv
    Par fpfpf dans le forum Général Python
    Réponses: 6
    Dernier message: 11/05/2015, 11h19
  3. [XL-2003] Macro conversion colonne fichier CSV
    Par novice06 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 15/10/2012, 21h34
  4. Ajout de colonne dans fichiers csv
    Par ze_mechant dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 04/07/2012, 15h45
  5. Ajouter une colonne à un fichier csv contenant les resultats d'un calcul
    Par Freedd dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 31/07/2008, 12h01

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