Saya mencoba menulis skrip yang mengetahui apakah shapefile memiliki bidang tertentu dan jika tidak menambahkan bidang. Saya mendapatkannya untuk menunjukkan kepada saya bidang, tetapi loop melewati setiap bidang, sehingga akan membuat bidang baru setiap kali bidang yang ditentukan tidak ada. Tetapi jika ada, saya hanya ingin mengatakan itu ada dan jika tidak membuat bidang baru. Kode saya sejauh ini hanya mengatakan:
"not filled in yet"
"not filled in yet"
"not filled in yet"
"cities.shp"
"not filled in yet"
(Mencetak seperti ini karena ada lima bidang)
Kode saya sejauh ini:
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
pengguna23879
sumber
sumber
Jawaban:
Alih-alih mengulangi nama bidang saat ini, Anda dapat mengulangi nama bidang yang ingin Anda tambahkan. Katakanlah Anda memiliki daftar
to_add
,, berisi nama bidang yang Anda inginkan untuk kelas fitur Anda miliki. Anda kemudian dapat menggunakanin
pernyataan untuk memeriksa apakah setiap item darito_add
dalamfieldList
. Berikut ini harus bekerja:sumber