Chaque semaine, découvrez de nouvelles astuces et bonnes pratiques pour devenir un expert !
Voir l'indexBonjour à tous,
Comment puis-je supprimer les espaces avant et après une pipe (|) de mon fichier d'entrée ??
le fichier d'entrée est de format texte (.txt)
par exemple ces deux lignes dans un fichier texte :
123 | ZONE | 109 RUE | | 38340 | DZ | 1 |2012-10-31
321 | | 4 RUE | | 93100 | FR | 1 |2022-10-31
devient :
123|ZONE|109 RUE||38340|DZ|1|2012-10-31
321||4 RUE||93100|FR|1|2022-10-31
Merci d'avance.
Résolu ! Accéder à la solution.
Bonjour @Abdesslem_19
Merci d'avoir pris le temps de poser une question sur la communauté Alteryx!
J'ai trouvé deux pistes pour répondre à ton besoin:
La première solution serait d'utiliser la formule Replace puis d'indiquer le type de données en entrée Replace([Field1]," | ","|"). En suivant ton format, je n'ai pas réussi du premier coup, il faudra peut-être utiliser plusieurs formules.
La deuxième solution est d'utiliser l'outil Regex qui permet de transcrire tous types de texte:
En cliquant sur le plus, tu peux voir la transcription du code Regex \s*?\|\s*, en l'occurrence cela signifie "nombre d'espace blanc indéfini, pipe, espace blanc"
Est-ce que cela répond à ton besoin?
Benoit
Bonjour,
Merci beaucoup pour ta réponse, je pense que la deuxième réponse ça répond mieux à mon besoin,
Mais je dois appliquer cette fonction sur tous les champs d'un fichier d'entrée de type .txt d'où les pip (|) sont des délimiteurs !!!!
Merci
Cordialement
Abdesslem
Bonjour @Abdesslem_19 ,
Je ne suis pas sur de comprendre le format du fichier source... et la cible que tu souhaites atteindre. Est ce 1 colonne avec les pipes mais plus d'espace ou justement N colonnes pour avoir cette colonne splittée sur plusieurs colonnes dès qu'il y a un pipe.
Mais imaginons que comme @BenoitC l'a proposé dans son workflow tu as 1 colonne avec toutes les informations séparées par des pipes.
Tu peux via l'outil "Texte en colonnes" demander à Alteryx de te créer tes colonnes dès qu'il rencontre un pipe. Ici 8 colonnes.
Tu auras donc les colonnes crées mais toujours avec les espaces avant et après.
Il suiffit donc de rajouter l'objet "Nettoyage de données" qui se chargera de supprimer en 1 passe tous ces espaces pour toutes tes colonnes quelquesoit leur nombre.
J'espère que cela aide
Bonjour @StephaneP
Merci d'avoir pris le temps de me répondre.
Pour que ce soit plus clair :
Le fichier source :
Les espaces blancs avant et après les pip ont des tailles différentes.
Je me connecte aux fichier source sur Alteryx :
La cible que je souhaite atteindre
Maintenant je supprime les espaces blancs manuellement dans le bloc note avant de le connecter sur alteryx afin de traiter de données, je veux faire cette opération sur altryxx directement ( Vu le nombre des fichiers - plus de 50 fichiers , chaque fichier a plus de 100 mille lignes).
Ci-joints ci dessous le fichier source et la cible.
Merci beaucoup de votre aide.
Bonjour,
Merci pour les précisions et les fichiers. C'est donc plus claire pour l'entrée.
En revanche je ne suis toujours pas claire sur le cible.
1. Est ce que tu veux juste re générer le fichier source avec les pipes sans les espaces ? (1. Je charge, 2, j'enlève les espaces surnuméraire, 3. je regénère un fichier avec des |)
2. Est ce que tu veux charger les fichiers dans Alteryx en supprimant les espaces pour l'utiliser pour d'autres usages dans Alteryx? (tel que je l'ai montré dans le workflow précédent)
Merci
Voici déjà un enrichissement du workflow précédent qui écrit un .csv mais avec des PIPE comme séparateur.
Ce qui génère cette sortie (a noter les doubles quotes autour de "Date d'arrêté" mais qu'on peut demander à enlever avec l'option 5
Bonjour,
Concernant les fichiers cible :
Je veux charger les fichiers dans Alteryx :
1- en supprimant les espaces avant et après une pipe
d'autre façon :
remplacer (nombre d'espace blanc indéfini suivi d'une pipe suivi d'un nombre d'espace blanc indéfini) par (une pipe)
2- Après, on prend les pipe comme délimiteurs des champ
3- pour l'utiliser pour d'autres usages dans Alteryx (des contrôles de qualité des données pour produire des KPI), donc les formules (les contrôles) sont fixes, je n'actualise que les fichiers sources chaque 30 jours (les fichiers sources sont des extractions -Business Object)
Merci.
OK, donc tu me confirmes que le dernier workflow, le V3 réponds à ton besoin ?
Il y a bien suppression des espaces en trop autour des pipes et tu peux au final, après tes traitements, réécrire dans un fichier plat avec le pipe comme séparateur.
Sinon précise ce que j'ai loupé et j'essaierai de répondre au mieux. 🙂
OUI, j'ai fait un test et le dernier workflow -le V3- réponds à mon besoin.
Merci beaucoup de votre aide et d'avoir pris le temps de me répondre.