Eu quero limpar a tabela de atributos de um arquivo de forma de estrada para todas as entradas nos campos.
Por exemplo: Como visto abaixo, tenho um recurso de estrada com um "Nome", Nome de e Nome para na lista de atributos. Na linha selecionada, o nome do segmento é Louis Botha.
O NameFrom também contém esse nome de segmento (Louis Botha & Unknown).
Depois de limpar os dados, só quero que o seguinte seja apresentado nos campos relevantes:
Nome = Louis Botha Nome de = Nome desconhecido Para = Janeke
Existe uma maneira de remover isso nos campos "nome de" e "nome para" para TODOS os atributos?
arcpy
arcgis-10.1
fields-attributes
Dean van den Heever
fonte
fonte
Respostas:
O script a seguir executa as ações que você está após usar um cursor. Há muita manipulação de erros para lidar com muitos problemas em potencial - remova conforme necessário. Isso altera os dados originais, portanto, execute-o em uma cópia para garantir que os resultados sejam os que você procura. Adicionei comentários no script em vez de destacar aqui.
fonte
Você pode usar a seguinte função Python na calculadora de campo.
Copie o acima na seção codeblock / código de script pré-lógico. Você pode executá-lo uma vez para Name_From usando
remove_name(!Name!, !Name_From!)
como expressão e uma segunda vez para Name_To usandoremove_name(!Name!, !Name_To!)
.Esse código funcionará não apenas nos casos em que o valor Name esteja no início ou no final de Name_From / Name_To , mas também naqueles em que estiver no meio. Por exemplo,
remove_name('Janeke', 'Hereeniging & Janeke & Willemse')
retorna'Hereeniging & Willemse'
. Para que isso funcione, os nomes de entrada devem ser separados por e comercial (&
).fonte