Colocar em maiúscula a primeira letra de cada palavra no campo de atributo

8

Alguém sabe uma maneira de colocar em maiúscula a primeira letra de cada palavra em um campo em uma tabela de atributos? Eu estou fazendo isso no QGIS. Conheço os cálculos de campo para alterar todas as palavras para Inferior ou Superior, mas gostaria de poder colocar a primeira letra em maiúscula em cada palavra e as letras restantes em maiúsculas. Eu sei como fazer isso manualmente, mas estou procurando uma maneira automatizada. Semelhante ao comando Adequado no Excel.

Obrigado...

Ryan Garnett
fonte

Respostas:

6

Usando a calculadora de campo python:

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

Você deve poder usar o método .title () em suas strings:

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

Editar:

Supondo que o campo de atributo que você deseja alterar seja "FIELD", a sintaxe a ser usada é:

value = <FIELD>.title()
Alexandre Neto
fonte
Obrigado, isso parece estar no caminho certo, mas estou um pouco confuso com a sintaxe. Ao ler os links e outros, presumi que seria: value = str.Title (<BLD_NAME>), mas isso gera um erro de sintaxe. Existe algo mais que eu precise adicionar antes do str?
21813 Ryan Garnett
1
Dê uma olhada no meu Edit, no seu caso específico, será: value = <BLD_NAME> .title () Observe que o Python faz distinção entre maiúsculas e minúsculas. Além disso, o título () não é uma função, mas um método da classe string, é por isso que a sintaxe é string.title ()
Alexandre Neto
7

O recurso já está integrado no Qgis.

A captura de tela a seguir é da versão QGis 1.9-Master, mas provavelmente também existe nas versões anteriores.

insira a descrição da imagem aqui

nickves
fonte
Estou usando o 1.8.0 e não está disponível.
precisa