J'ai des données d'attribut avec des noms de propriétaires. Je dois sélectionner les données qui contient le nom de famille deux fois .
Par exemple, je peux avoir un nom de propriétaire qui se lit " BENNETT MCCARL & ARNETTE BENNETT ".
Je voudrais sélectionner toutes les lignes de la table attributaire qui ont un nom de famille récurrent tel que l'exemple ci-dessus. Est-ce que quelqu'un sait comment je peux procéder pour sélectionner ces données?
Réponses:
Expression de la calculatrice de champ basée sur cette réponse
'================================================= =
Il renverra le nombre maximum de mêmes mots dans la chaîne
la source
Vous pouvez utiliser le module de collections Python et un curseur de mise à jour pour accomplir cela. Cette méthode ajoute un nouveau champ et le remplit avec a
1
s'il y a des doublons, sinon a0
s'il n'y a pas de doublons.la source
Qu'en est-il de l'utilisation
re
et de laset
définition d'un indicateur (ici 0 et 1) en python-re
extraira tous les noms (nom et prénom) de l'BENNETT MCCARL & ARNETTE BENNETT
extérieur&
. Pour la correspondance de motifsre
est de la plus haute priorité, vous pouvez utiliserre
comme vous le souhaitez.Et appeler
sorter( !N! )
** Voir comment
regex
saisit les mots surLIVE DEMONotez que toutes ces réponses traitent le problème en supposant que vos données sont nettoyées, c'est-à-dire qu'elles ont un espace approprié entre les mots, mais que se passe-t-il si vos données ressemblent à quelque chose,
BENNETTMCCARL&ARNETTEBENNETT
alors tout cela échouera. Dans ce cas, vous devrez peut-être utiliser l' algorithme Suffix Tree et heureusement python a une bibliothèque comme ici .la source
En supposant que vos données source sont une FeatureClass / Table dans une géodatabase fichier, la requête suivante sélectionnera les lignes dont vous avez besoin:
name
est le domaine, je viens de l'appelername
. La première partie teste le côté gauche, la deuxième partie teste le droit. Cette requête est évidemment codée en dur pour rechercher BENNETT, si vous avez besoin de sélectionner par d'autres noms de famille, nous espérons que vous pouvez déterminer ce qui doit changer?la source