Découper fichier CSV par critère

Fermé
yassineouachani - 16 juin 2017 à 18:29
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 - 17 juin 2017 à 14:46
Bonjour,

Pouvez-vous m'aider sur ce sujet. Je dispose d'un gros fichier CSV qui ne peux pas s'ouvrir via EXCEL et je souhaite le découper en plusieurs fichiers EXCEL en se basant sur une colonne société.

Exemple fichier total.csv:
blablbal;EDF;21/07/1996;200
tototiti;PSA;14/05/2016;300
blablbal;EDF;21/03/2015;900
duponduron;Auchan;13/07/2017
tototiti;PSA;14/05/2013;700

le résultat à obtenir est :

Fichier EDF.xls:
blablbal;EDF;21/07/1996;200
blablbal;EDF;21/03/2015;900

Fichier PSA.xls:
tototiti;PSA;14/05/2016;300
tototiti;PSA;14/05/2013;700

Fichier Auchan.xls:
duponduron;Auchan;13/07/2017

Je vous remercie par avance de votre retour.
A voir également:

2 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
17 juin 2017 à 11:10
Bonjour,

Fichier EDF.xls:
blablbal;EDF;21/07/1996;200

Vous voulez toujours les ";" dans le fichier xls ??????
0
Yassine ouachani
17 juin 2017 à 14:01
Bonjour

Non je ne souhaite pas que les ; restent dans le fichier Excel , les données doivent s'afficher en tableau

Merci
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
Modifié le 17 juin 2017 à 14:49
Bonjour,

Voilà un script batch pour découper votre fichier CSV en plusieurs parties :

@echo off

set destination=%USERPROFILE%\Desktop\Tri_CSV

if "A%~1A"=="AA" (exit)
if /i "%~x1"==".csv" (call :tri %1)

exit

:tri
title %1

if not exist "%destination%" (mkdir "%destination%")

for /f "eol=µ usebackq tokens=1,2,3,* delims=;" %%A in ("%~1") do (
echo %%A;%%B;%%C;%%D
echo %%A;%%B;%%C;%%D >> %destination%\%%B.csv
)
goto :eof
rem

Pour se servir du script, il faut faire glisser votre fichier .csv sur l'icône du script.

Un dossier "Tri_CSV" sera crée sur votre bureau.


“L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”
0