QGISで、レイヤのフィールド名を取得するスクリプトは下記のように記述します。
layer = iface.activeLayer()
# QGIS2ではpendingFields()
fields = layer.pendingFields()
print "fields: " + str(fields)
for f in fields:
print "fieldname: " + str(f.name())
# QGIS3ではfields()
fields = layer.fields()
# QGIS3ではprint文にはカッコを付ける(Python3)
print ("fields: " + str(fields))
for f in fields:
print ("fieldname: " + str(f.name()))
実行すると選択されたレイヤのフィールド名がコンソールに表示されます。
全てのレイヤのフィールドをオブジェクトで取得:
# QGIS2ではpendingFields()
fields = layer.pendingFields()
print "fields: " + str(fields)
# QGIS3ではfields()
fields = layer.fields()
# QGIS3ではprint文にはカッコを付ける(Python3)
print ("fields: " + str(fields))
.name()でフィールド名を取得:
for f in fields:
print "fieldname: " + str(f.name())
# QGIS3ではprint文にはカッコを付ける(Python3)
for f in fields:
print ("fieldname: " + str(f.name()))
レイヤのフィールド名を調べる事ができます。
- 参考文献
QGIS