Insertion d'un champs dans un document CSV

Résolu/Fermé
DelNC Messages postés 2234 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020 - 11 nov. 2015 à 23:08
DelNC Messages postés 2234 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020 - 17 nov. 2015 à 03:15
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 18758 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 24 décembre 2024 5 623
12 nov. 2015 à 08:47
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 samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020 2 002
12 nov. 2015 à 21:27
Bonjour et merci dubcek.
:)

Je vais tester ton code
0
DelNC Messages postés 2234 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020 2 002 > DelNC Messages postés 2234 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020
13 nov. 2015 à 00:35
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 18758 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 24 décembre 2024 5 623
Modifié par dubcek le 13/11/2015 à 08:15
on ne touche pas l'original, il faut ajouter
echo %%a; %champ2%;%%b >>nouveaufichier.csv
0
DelNC Messages postés 2234 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020 2 002 > dubcek Messages postés 18758 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 24 décembre 2024
15 nov. 2015 à 21:28
Merci dubcek
:)
0
DelNC Messages postés 2234 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020 2 002
16 nov. 2015 à 09:28
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