Suite

Divisé sur un tiret en python


Donc, je cherche à faire une scission sur un attribut qui ressemble à 45-4. Maintenant, tous les attributs ont des valeurs.

voici mon code pour l'instant :

import fme import fmeobjects def processFeature(feature): f_type = feature.getAttribute('F_TYP') if f_type: f_type.split('-') Height = f_type[0] Class = f_type[-1] feature.setAttribute("Height ", Hauteur) feature.setAttribute("Classe", Classe)

Cela semble fonctionner mais ne me donne qu'à titre d'exemple la hauteur = 4 et la classe 4. Je suppose que je dois tout prendre devant le tiret quand il existe pour la hauteur et tout après le tiret pour la classe. J'ai besoin de l'instruction if pour ne traiter aucune valeur.


Premièrement, vous ne stockez pas le résultat du.diviser()partout. Deuxièmement, les instructions qui allouent des valeurs à Height et Class attribuent en fait respectivement le premier et le dernier caractère de la chaîne d'attribut (c'est pourquoi votre exemple de '45-4' a pour résultat que la hauteur et la classe sont toutes deux égales à 4), plutôt que les deux composants souhaités. En utilisant le code ci-dessous, vous devriez obtenir le résultat attendu :

import fme import fmeobjects def processFeature(feature): f_type = feature.getAttribute('F_TYP') if f_type: f_type_parts = f_type.split('-') Height = f_type_parts[0] Class = f_type_parts[-1] feature.setAttribute( "Hauteur", Hauteur) feature.setAttribute("Classe", Classe)

Alternativement, vous pouvez supprimer lef_type_parts = f_type.split('-')et modifiez les affectations pour la hauteur et la classe comme suit :

Hauteur = f_type.split('-')[0] Classe = f_type.split('-')[-1]

Si vous êtes dans FME, je vous suggère d'utiliser AttributeSplitter avec - comme délimiteur. Ensuite, faites un clic droit sur l'attribut _list{} résultant affiché sur le port AttributeSplitter OUTPUT sur le canevas et exposez 2 éléments. Après cela, utilisez un AttributeRenamer pour renommer _list{0} en hauteur et _list{1} en classe.


Voir la vidéo: Dude Theft Wars: Open World. HOW TO FIND PIECES FOR HACKING DEVICE. #367 - Android GamePlay FHD (Octobre 2021).