J'essaie d'extraire des données de texte d'un champ de chaîne contenant du texte délimité par des points et de le placer dans de nouveaux champs à l'aide de la calculatrice de champ.
J'utilise cette fonction python ( extrait de Comment extraire du texte avant un / dans QGIS? ):
from qgis.core import *
from qgis.gui import *
@qgsfunction(args='auto', group='Custom')
def func(value1, feature, parent):
return value1.split('.')[0]
Cela renvoie tout le texte avant le premier point. Maintenant, je me demande comment écrire la fonction pour qu'elle place chaque ligne de texte délimitée dans un champ séparé.
Avant:
Après:
fields
. Ai-je raison?Ce n'est pas une méthode très efficace mais c'est celle que j'ai utilisée auparavant. Assurez-vous
Field2
etField3
existez, puis utilisez quelque chose comme ceci:Exemple :
Voici un attribut:
Ensuite, une fois votre script enregistré, sélectionnez pour mettre à jour
Field1
et utiliser l'expression:Résultat:
la source