Insertion d'un champs dans un document CSV

Résolu
DelNC Messages postés 2360 Statut Membre -  
DelNC Messages postés 2360 Statut Membre -
Bonjour à tous et toutes.

Je suis débutante en programmation en batch et j'ai un soucis.

Je cherche à insérer dans un document csv un champs.
Il faudrait que ce champs se situe jusque après le premier ; de chaque ligne.

Voilà à quoi ressemble le document csv
id_article; designation; famille; cout_unitaire
111; sac à dos; sport; 80
112; casquette; sport; 30

Je voudrais ajouter le champs magasin juste après id_article
La valeur sera pour chaque ligne la m^me donc je pense que çà devrait être moins difficile.

id_article; magasin1; designation; famille; cout_unitaire
111; magasin1; sac à dos; sport; 80
112; magasin1; casquette; sport; 30

Merci d'avance pour l'aide, ou les conseils que vous m'apporterez.

1 réponse

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    C:> type fichier.csv
    id_article; designation; famille; cout_unitaire
    111; sac à dos; sport; 80
    112; casquette; sport; 30

    C:> bb
    id_article; magasin1; designation; famille; cout_unitaire
    111; magasin1; sac à dos; sport; 80
    112; magasin1; casquette; sport; 30

    C:> type bb.bat
    @echo off
    set champ2=magasin1
    for /F "delims=; tokens=1,*" %%a in (fichier.csv) do (
    echo %%a; %champ2%;%%b
    )
    2
    1. DelNC Messages postés 2360 Statut Membre 2 010
       
      Bonjour et merci dubcek.
      :)

      Je vais tester ton code
      0
    2. DelNC Messages postés 2360 Statut Membre 2 010 > DelNC Messages postés 2360 Statut Membre
       
      dubcek,

      J'ai testé ton code
      @echo off
      set champ2=magasin1
      for /F "delims=; tokens=1,*" %%a in (fichier.csv) do (
      echo %%a; %champ2%;%%b
      )

      Mais mon document .csv n'a pas été modifié
      :(

      Je continue de chercher de mon côté.
      Merci pour ton aide
      0
    3. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
       
      on ne touche pas l'original, il faut ajouter
      echo %%a; %champ2%;%%b >>nouveaufichier.csv
      0
    4. DelNC Messages postés 2360 Statut Membre 2 010 > dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention  
       
      Merci dubcek
      :)
      0
    5. DelNC Messages postés 2360 Statut Membre 2 010
       
      Bonjour dubcek

      j'ai bien avancé grâce à ton aide mais je suis de nouveau coincée.
      J'ai cherché pendant des heures et je ne vois pas trop comment procéder.

      J'ai dans un fichier csv la liste des fichiers nouveaufichier.csv
      Je les ai renommé de cette façon nouveaufichier._2015_11_11.csv nouveaufichier._2015_11_12.csv ?...

      Maintenant il faudrait que j'arrive à supprimer ceux qui ont une date inférieur à la date du jour -15.
      J'arrive à afficher la liste de toutes les dates mais quand je ne veut garder que les dates, je ne comprends par pourquoi, seule la dernière date s'affiche.

      Peux-tu me donner une/des idées de comment procéder.

      Merci
      0