Insertion d'un champs dans un document CSV

Résolu
DelNC Messages postés 2234 Date d'inscription   Statut Membre Dernière intervention   -  
DelNC Messages postés 2234 Date d'inscription   Statut Membre Dernière intervention   -
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

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
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
DelNC Messages postés 2234 Date d'inscription   Statut Membre Dernière intervention   2 004
 
Bonjour et merci dubcek.
:)

Je vais tester ton code
0
DelNC Messages postés 2234 Date d'inscription   Statut Membre Dernière intervention   2 004 > DelNC Messages postés 2234 Date d'inscription   Statut Membre Dernière intervention  
 
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
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
on ne touche pas l'original, il faut ajouter
echo %%a; %champ2%;%%b >>nouveaufichier.csv
0
DelNC Messages postés 2234 Date d'inscription   Statut Membre Dernière intervention   2 004 > dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention  
 
Merci dubcek
:)
0
DelNC Messages postés 2234 Date d'inscription   Statut Membre Dernière intervention   2 004
 
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