Bonjour,

Je souhaite faire une extraction de certaine colonne d'un fichier csv, pour les positionner dans un nouveau fichier.
Par contre suivant les lignes le contenu recherché ne ce situe pas dans les même colonnes.

J'utilise le script for pour récupérer chaque colonne de chaque ligne du fichier présent dans ma variable !filename! :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
for /F "skip=2 tokens=2,8,10,11,13,20,24 delims=;" %%a in (!filename!) do (
Sauf que pour certaines lignes si je veux avoir le bon contenu dans mes variables, je suis obligée de saisir ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
for /F "skip=2 tokens=2,8,10,11,12,16,19 delims=;" %%a in (!filename!) do (
J'ai pu constaté que ce décalage de colonnes correspondaient au fait que certaines colonnes sont vides ( deux points-virgules collés : ";;").
exemple si je souhaite prendre la 2ème et 8éme colonne, je n'aurais pas le même contenu suivant ces 2 lignes:
  • contenu1;contenu2;contenu3;contenu4;contenu5;contenu6;contenu7;contenu8;contenu9;contenu10;contenu11;
  • contenu1;contenu2;;contenu4;;;contenu7;contenu8;contenu9;contenu10;contenu11;


J'aurais pour résultat :
  • 2=contenu2 et 8=contenu8
  • 2=contenu2 et 8=contenu11


Cela est problématique car je ne sais jamais à l'avance qu'elle colonne sera vide !
Comment puis-je y remédier pour que les références de colonnes soient toujours identique, malgré que certains des champs soient vides ?

Merci pour votre aide