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.
Je souhaite ne conserver que la partie tableau et supprimer les guillemets. Ce qui donnerait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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" ... ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 ... ...
J'ai aussi essayé avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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.csvou
Code : Sélectionner tout - Visualiser dans une fenêtre à part 'findstr /B "\"" "fichier.csv"'Sans plus de résultat
Code : Sélectionner tout - Visualiser dans une fenêtre à part 'findstr /B """ "fichier.csv"'
Partager