Supprimé les guillemets d'un fichier
Bonjour
Je souhaite importer un fichier en base de données et doit d'abord le "nettoyer".
Il contient des lignes avec des " pour encadrer les valeurs d'un tableau.
Code:
1 2 3 4 5 6 7 8 9
|
lignes inintéressantes et ne commençant pas par le caractère guillemet et sans séparateur
...
...
" POSTE ";" NOM ";" PRENOM ";" SOCIETE ";" SERVICE ";"NB.COMM.";"DUREE DE CONVERS.";"P.A. H.T".
"47171 ";"TARTEMPION ";" ROGER ";"SA SOCIETE ";"SON SERVICE ";" 5 ";" 0:02:55 ";" 0.07"
"47172 ";"ATINE ";" ANGELE ";"SA SOCIETE ";"SON SERVICE ";" 5 ";" 0:32:12 ";" 2.35"
...
... |
Je souhaite ne conserver que la partie tableau et supprimer les guillemets. Ce qui donnerait :
Code:
1 2 3 4 5 6 7
|
Ligne;Nom;Prenom;Societe;Unite;Consommation;Duree;Cout
47171 ;TARTEMPION ; ROGER ;SA SOCIETE ;SON SERVICE ; 5 ; 0:02:55 ; 0.07
47172 ;ATINE ; ANGELE ;SA SOCIETE ;SON SERVICE ; 5 ; 0:32:12 ; 2.35
...
TOTAUX ...
... |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
del /Q sortie.csv
:: on hérite d'une 1° ligne avec des noms de colonnes inadaptés
:: on recrée un 1° ligne
echo Ligne;Nom;Prenom;Societe;Unite;Consommation;Duree;Cout>> sortie.csv
:: on ne recopie que les lignes commençant par un guillemet
for /f "tokens=1-8 delims=;" %%a in ('findstr /B "\"" "fichier.csv"') do (
echo %%a;%%b;%%c;%%d;%%e;%%f;%%g;%%h>> sortie.csv
)
:: on supprime la ligne d'entête et les lignes des totaux
type fichier.csv | find /v " POSTE " | find /v " TOTAL " | find /v "TOTAL GENERAL "> sortiefinale.csv |
J'ai aussi essayé avec
Code:
'findstr /B "\"" "fichier.csv"'
ou
Code:
'findstr /B """ "fichier.csv"'
Sans plus de résultat