Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
converir un CSV en une LISTE (pour les Guru !)
Auteur Message
Répondre en citant
Message converir un CSV en une LISTE (pour les Guru !) 
hello mes ami(e)s,


j'ai un fihier c:\info_users.csv contenant des données separées par des virgules "," le fichier csv à cette allure:

Code:
Name, City, Country, SMN
Mark, London, UK, 2540
Ben, Paris, France, 852
Tom, Athens, Greece , 5100


je veux changer l'affichage en mode liste:

Code:
Name: Mark
City: London
Country: UK
SMN: 2540

Name: Ben
City: Paris
Country: France
SMN: 852

Name: Tom
City: Athens
Country: Greece
SMN: 5100


il est à noter que le nombre de lignes et de tokens n'est pas fixe, le csv peux comporter une seule ligne comme il peux avoir 1000 lignes, de même pour les tokens..

j'ai commencer par ceci:

Code:
for /f "tokens=1-3 delims=," %%a in (c:\info_users.csv) do (
  echo %%a %%b %%c
)

mais je bloque pour la suite

merci



Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message converir un CSV en une LISTE (pour les Guru !) 
hello!

moi perso j'utiliserai les tableaux Mort de Rire il y a un exellent tuto la dessus dans la section tuto Very Happy

Je sais pas vraiment mais je ferais une fonction du genre:
Code:
@ECHO OFF
SETLOCAL EnableDelayedExpansion
SET firstLine=0
FOR /F "tokens=*"  %%A IN (Fichier.txt) DO (
if %Firstline%==0 (
CALL PARSELN enTete "%%A"
SET firstLine=1
) ELSE (
CALL PARELN ligne "%%A"
FOR /l %%B IN (1,1,%enTete[0]%) DO
(
ECHO !enTete[%%B]! : !ligne[%%B]!
)
)
)
GOTO:EOF
:PARSELN
REM PARSELN ptrTableau chaine
REM parse la chaine chaine et le mets dans le tableau spécifié
SET %1[0]=0
FOR %%A IN (%~2) DO (
SET /a %1[0]+=1
SET /a %1[!%1[0]!]=%%A
)
GOTO:EOF


pas testé mais je pense que ça va aider Mr. Green

@+




______________________________________________________
--
> Que pensez vous de l'ajout du repertoire point dans $PATH ?
Ma version de troll 18.0.32 beta 3 vient de me faire un core dump.
-+- SE in Guide du Linuxien Pervers : Bien développer son troll -+-

[Dos9]
Visiter le site web du posteur Skype
Répondre en citant
Message converir un CSV en une LISTE (pour les Guru !) 
hello Darkbatcher,

merci pour ton aide et le tuyau des arrays Okay ...maheureusement, ton script ne fonctionne pas Neutral

une idée Question



Répondre en citant
Message converir un CSV en une LISTE (pour les Guru !) 
effectivement Mort de Rire
l'erreur vient du 'SET /a' dans la fonction Mr. Green

Code:
@ECHO OFF
SETLOCAL EnableDelayedExpansion
SET firstLine=0
cd /d c:\
FOR /F "tokens=*"  %%A IN (info_users.csv) DO (
   if !Firstline!==0 (
      CALL :PARSELN enTete "%%A"
      SET firstLine=1
   ) ELSE (
      CALL :PARSELN ligne "%%A"
      FOR /l %%B IN (1,1,!enTete[0]!) DO (
         ECHO !enTete[%%B]! : !ligne[%%B]!
      )
      ECHO.
   )
)
PAUSE
GOTO:EOF
:PARSELN
REM PARSELN ptrTableau chaine
REM parse la chaine chaine et le mets dans le tableau spécifié
SET %1[0]=0
FOR %%A IN (%~2) DO (
SET /a %1[0]+=1
SET %1[!%1[0]!]=%%A
)
GOTO:EOF


après pour mettre dans un fichier tu n'as qu'a utiliser une redirection Very Happy
j'espère que c'est bon cette fois Mr. Green

@+




______________________________________________________
--
> Que pensez vous de l'ajout du repertoire point dans $PATH ?
Ma version de troll 18.0.32 beta 3 vient de me faire un core dump.
-+- SE in Guide du Linuxien Pervers : Bien développer son troll -+-

[Dos9]
Visiter le site web du posteur Skype
Répondre en citant
Message converir un CSV en une LISTE (pour les Guru !) 
Bonjour Okay

c'est N.I.K.K.E.L

Merci



Message converir un CSV en une LISTE (pour les Guru !) 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch