Tengo una situación como puedes ver a continuación:
y me gustaría poder borrar una fila completa de una sola vez. ¿Es posible?
Puedes hacerlo con unas cuantas líneas en la consola de Python. Como con cualquier script que edite permanentemente una capa en su lugar (como este), recomiendo hacer una copia de seguridad de tu archivo primero. Otra advertencia: esto no funcionará con GeoPackage sin algún manejo lógico adicional porque no se te permite editar la columna "fid"
.
Simplemente pega el siguiente script en un nuevo editor en la consola de Python, selecciona tu capa, selecciona la fila/elemento en la tabla de atributos que quieres 'anular' y ejecuta el script. El resultado será que todos los valores de la columna se cambiarán a NULL
(no vacíos). Mira el ejemplo de resultado a continuación:
lyr = iface.activeLayer()
ft = lyr.selectedFeatures()[0]
att_map = {ft.id(): {i: NULL for i in range(len(lyr.fields()))}}
lyr.dataProvider().changeAttributeValues(att_map)
Probablemente la forma más rápida - rápida y sucia - es alternar el modo de edición, ir al primer campo, hacer clic en Eliminar, presionar Tab para pasar al siguiente campo, presionar Eliminar, presionar Tab, etc. Rápido y eficiente, pero no muy elegante.
Otra opción es iniciar la Calculadora de campos desde Menú Procesamiento > Caja de herramientas
y luego ejecutarla en modo por lotes para cada campo con el valor NULL
.
I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.