Estou tentando escrever um script que descubra se o shapefile possui um campo específico e se não é para adicioná-lo. Consigo que ele me mostre o campo, mas o loop passa por cada campo, para criar um novo campo sempre que o campo especificado não estiver lá. Mas se houver, só quero dizer que está lá e se não é para criar um novo campo. Até agora, meu código diz:
"not filled in yet"
"not filled in yet"
"not filled in yet"
"cities.shp"
"not filled in yet"
(imprime desta forma, existem cinco campos)
Meu código até agora:
fieldList = arcpy.ListFields("cities.shp")
for field in fieldList:
if field.name == "CAPITAL":
print "cities.shp"
else:
"then add new field"
python
arcgis-desktop
arcpy
fields-attributes
list
user23879
fonte
fonte
Respostas:
Em vez de fazer um loop sobre os nomes dos campos atuais, você pode fazer um loop sobre os nomes dos campos que deseja adicionar. Digamos que você tenha uma lista,
to_add
contendo os nomes dos campos que você deseja que sua classe de recurso. Então você pode usar ain
declaração para verificar se cada itemto_add
éfieldList
. O seguinte deve funcionar:fonte