Capitalizar la primera letra de cada palabra en el campo de atributo

8

¿Alguien sabe de una manera de poner en mayúscula la primera letra de cada palabra en un campo en una tabla de atributos? Estoy haciendo esto en QGIS. Sé de cálculos de campo para cambiar todas las palabras a Inferior o Superior, pero me gustaría poder tener la primera letra en mayúscula de cada palabra, y las letras restantes en minúscula. Sé cómo hacer esto manualmente, pero estoy buscando una forma automatizada. Similar al comando Proper en Excel.

Gracias...

Ryan Garnett
fuente

Respuestas:

6

Usando la calculadora de campo de python:

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

Debería poder utilizar el método .title () en sus cadenas:

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

Editar:

Suponiendo que el campo de atributo que desea cambiar es "CAMPO", la sintaxis a usar es:

value = <FIELD>.title()
Alexandre Neto
fuente
Gracias, esto parece estar en el camino correcto, pero estoy un poco confundido con la sintaxis. Al leer los enlaces y otros, supuse que sería: value = str.Title (<BLD_NAME>) pero eso da un error de sintaxis. ¿Hay algo más que deba agregar antes de str?
Ryan Garnett
1
Eche un vistazo a mi Edición, en su caso específico, será: value = <BLD_NAME> .title () Observe que Python distingue entre mayúsculas y minúsculas. Además, title () no es una función sino un método de la cadena de clase, por eso la sintaxis es string.title ()
Alexandre Neto
7

La función ya está integrada en Qgis.

La siguiente captura de pantalla es de la versión QGis 1.9-Master, pero probablemente también exista en versiones anteriores.

ingrese la descripción de la imagen aquí

nickves
fuente
Estoy usando 1.8.0 y no está disponible.
Ryan Garnett