คุณสามารถป้อนรหัสต่อไปนี้ใน Python Console เพื่อล้างคุณสมบัติทั้งหมดNULL
สำหรับสำหรับ shapefile ที่โหลดลงใน QGIS เลือกเลเยอร์จากแผงเลเยอร์ (สารบัญ) และเรียกใช้รหัส:
layer = qgis.utils.iface.activeLayer()
layer.startEditing()
for field in layer.dataProvider().attributeIndexes():
for feature in layer.getFeatures():
layer.changeAttributeValue(feature.id(), field, NULL)
layer.commitChanges()
สิ่งนี้ได้รับการทดสอบบน QGIS 2.8.2
อัปเดต :
ในการตอบสนองต่อความคิดเห็นโดย @Vince รหัสต่อไปนี้สามารถคัดลอก / วางโดยตรงในคอนโซล Python และจะเปลี่ยนค่าของคุณสมบัติขึ้นอยู่กับประเภทของเขตข้อมูล (เช่น0
สำหรับเขตข้อมูลจำนวนเต็มNULL
สำหรับเขตสตริงและยุคของ1900-01-01
สำหรับวันฟิลด์)
layer = qgis.utils.iface.activeLayer()
layer.startEditing()
for field in layer.pendingFields():
if field.typeName() == 'Integer':
name_int = field.name()
for feature in layer.getFeatures():
feature[name_int] = '0'
layer.updateFeature(feature)
if field.typeName() == 'String':
name_str = field.name()
for feature in layer.getFeatures():
feature[name_str] = NULL
layer.updateFeature(feature)
if field.typeName() == 'Date':
name_dat = field.name()
for feature in layer.getFeatures():
feature[name_dat] = '1900-01-01'
layer.updateFeature(feature)
layer.commitChanges()