Mettre en majuscule la première lettre de chaque mot dans le champ d'attribut

8

Quelqu'un connaît-il un moyen de mettre en majuscule la première lettre de chaque mot dans un champ d'une table attributaire? Je fais cela dans QGIS. Je connais les calculs sur le terrain pour changer tous les mots en bas ou en haut, mais je voudrais pouvoir mettre la première lettre en majuscule pour chaque mot et les lettres restantes en bas de casse. Je sais comment le faire manuellement, mais je recherche un moyen automatisé. Similaire à la commande appropriée dans Excel.

Merci...

Ryan Garnett
la source

Réponses:

6

Utilisation de la calculatrice de champ python:

http://hub.qgis.org/wiki/17/Using_Python_to_calculate_attribute_values_with_'fieldpyculator '

Vous devriez pouvoir nous utiliser la méthode .title () sur vos chaînes:

/programming/3728655/python-titlecase-a-string-with-exceptions

Éditer:

En supposant que le champ d'attribut que vous souhaitez modifier est "FIELD", la sintax à utiliser est:

value = <FIELD>.title()
Alexandre Neto
la source
Merci, cela semble être sur la bonne voie, mais je suis un peu confus avec la syntaxe. En lisant les liens et autres, j'ai supposé que ce serait: value = str.Title (<BLD_NAME>) mais cela donne une erreur de syntaxe. Y a-t-il autre chose que je dois ajouter avant str?
Ryan Garnett
1
Jetez un œil à mon édition, dans votre cas particulier, ce sera: value = <BLD_NAME> .title () Notez que Python est sensible à la casse. De plus, title () n'est pas une fonction mais une méthode de la chaîne de classe, c'est pourquoi la syntaxe est string.title ()
Alexandre Neto
7

La fonctionnalité est déjà intégrée chez Qgis.

La capture d'écran suivante provient de la version QGis 1.9-Master, mais existe probablement aussi dans les versions précédentes.

entrez la description de l'image ici

nickves
la source
J'utilise la version 1.8.0 et elle n'est pas disponible.
Ryan Garnett