Extraire une chaine à 10 positions de la fin
Fermé
Champosoleil
Messages postés
9
Date d'inscription
lundi 17 décembre 2012
Statut
Membre
Dernière intervention
16 février 2021
-
15 févr. 2021 à 19:32
jee pee Messages postés 40800 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 16 février 2025 - 16 févr. 2021 à 12:36
jee pee Messages postés 40800 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 16 février 2025 - 16 févr. 2021 à 12:36
A voir également:
- Extraire une chaine à 10 positions de la fin
- Extraire une video youtube - Guide
- Clé de produit windows 10 gratuit - Guide
- Chaine tnt gratuite sur mobile - Guide
- Extraire son d'une video - Guide
- Winrar 64 bits windows 10 - Télécharger - Compression & Décompression
2 réponses
jee pee
Messages postés
40800
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
16 février 2025
9 525
Modifié le 15 févr. 2021 à 20:18
Modifié le 15 févr. 2021 à 20:18
Bonjour,
Tu devrais nous fournir un fichier d’exemple, anonymisé.
Normalement un fichier .csv où un champ contient un ; devrait être encadré par des guillemets, et ainsi le ; n'est pas pris en compte comme séparateur :
AAA;BBB;"CCC;CCC";DDD ne doit donner que 4 champs dans excel.
Pour notepad++ et ne conserver que les n derniers champs, il faudrait chercher du coté des expressions régulières, et procéder en 2 étapes
ajouter une chaine improbable devant les n derniers :remplacer
Tu devrais nous fournir un fichier d’exemple, anonymisé.
Normalement un fichier .csv où un champ contient un ; devrait être encadré par des guillemets, et ainsi le ; n'est pas pris en compte comme séparateur :
AAA;BBB;"CCC;CCC";DDD ne doit donner que 4 champs dans excel.
Pour notepad++ et ne conserver que les n derniers champs, il faudrait chercher du coté des expressions régulières, et procéder en 2 étapes
ajouter une chaine improbable devant les n derniers :remplacer
(;.*;.*;.*)$par
XYZXYZ\1puis remplacer
^.*XYZXYZpar rien .
Champosoleil
Messages postés
9
Date d'inscription
lundi 17 décembre 2012
Statut
Membre
Dernière intervention
16 février 2021
Modifié le 16 févr. 2021 à 07:41
Modifié le 16 févr. 2021 à 07:41
C'est presque ça merci beaucoup.
Malheureusement le csv n'a pas de délimiteur de texte, ça aurait été si simple...
Exemple de ligne :
;Vert;01/01/2021;;;;;50812345100020;;;;;0;0;Madame;TRUCMUCHE;;Machine;10/10/1910;10/10/1920;0607080910;;;Madame Machine Trumcuche;;;Rue des pigeons ; des canaries;et des pinsons;Lieu dit des oiseaux;75008;PARIS;75001;0607080910;;;;;;;;;;zone que je veux capter;;;;;;;;;;;;;;;;;;;;;;;;;;;;
dans cet exemple le champ adresse-rue contient "Rue des pigeons ; des canaries;et des pinsons"
le problème est que l'expression (;.*;.*;.*)$ ne prend pas que les 3 derniers ; mais toute la ligne (quasiment)
Malheureusement le csv n'a pas de délimiteur de texte, ça aurait été si simple...
Exemple de ligne :
;Vert;01/01/2021;;;;;50812345100020;;;;;0;0;Madame;TRUCMUCHE;;Machine;10/10/1910;10/10/1920;0607080910;;;Madame Machine Trumcuche;;;Rue des pigeons ; des canaries;et des pinsons;Lieu dit des oiseaux;75008;PARIS;75001;0607080910;;;;;;;;;;zone que je veux capter;;;;;;;;;;;;;;;;;;;;;;;;;;;;
dans cet exemple le champ adresse-rue contient "Rue des pigeons ; des canaries;et des pinsons"
le problème est que l'expression (;.*;.*;.*)$ ne prend pas que les 3 derniers ; mais toute la ligne (quasiment)
jee pee
Messages postés
40800
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
16 février 2025
9 525
16 févr. 2021 à 12:36
16 févr. 2021 à 12:36
oui, l'expression régulière commence par la gauche :-/ il n'y a pas de traitement par la fin.
si c'est un fichier que tu traites une seule fois, moi je ferais cela dans excel en copiant les colonnes dans une autre feuille des colonnes 1 à 26 dans l'ordre (jusqu'à l'adresse) puis en copiant les cellules avec des formules en partant de la dernière colonne d'une ligne.
et si c'est un traitement régulier, un petit programme python pour transformer le contenu du fichier en traitant en boucle lignes, puis chaque caractère.
si c'est un fichier que tu traites une seule fois, moi je ferais cela dans excel en copiant les colonnes dans une autre feuille des colonnes 1 à 26 dans l'ordre (jusqu'à l'adresse) puis en copiant les cellules avec des formules en partant de la dernière colonne d'une ligne.
et si c'est un traitement régulier, un petit programme python pour transformer le contenu du fichier en traitant en boucle lignes, puis chaque caractère.