¿Hay alguna forma de eliminar todas las filas en QGIS en las que la celda de una columna específica en la tabla de atributos está vacía? por ejemplo, la línea tres en la tabla a continuación. Necesito hacer esto para un gran conjunto de datos con aproximadamente 180,000 filas.
| ID | 2LE | CHECK |
|-----|------|-------|
| 1 | PT | FALSE |
| 2 | PT | TRUE |
| 3 | NULL | TRUE |
| 4 | AT | FALSE |
qgis
attribute-table
Stücke
fuente
fuente
Respuestas:
También puedes filtrar tu capa.
Haga clic derecho sobre la capa, elija
Filter
y use"2LE" IS NOT NULL
. Luego puede hacer clic derecho ySave As
otra capa vectorial.fuente
Puede usar lo siguiente en la Consola Python . Seleccione su capa y use algo como:
fuente
Puede usar una capa virtual para mantener el conjunto de datos original y crear uno nuevo.
Si no hay geometría, debe marcar "Sin geometría" en la ventana "Crear una capa virtual".
Hay diferentes formas de verificar
NULL
o ``. Ver también SQLite select donde está vacío? - en desbordamiento de pilaConsultas de ejemplo. Tenía curiosidad y los probé con éxito (sin errores):
>
>
>
>
Puede
Save As
(hacer clic con el botón derecho) la consulta (capa virtual) en un nuevo archivo vectorial.fuente
En la tabla de atributos, use "Seleccionar por expresión" (no Filtro) e ingrese la expresión para que coincida con las características que desea eliminar,
"2LE" IS NULL
parece que lo hace. Luego, debe seleccionar todas esas funciones, y deben aparecer en amarillo.Luego, con la edición activada (activada por el ícono de lápiz en la barra de herramientas o en cualquier otro lugar) presione Ctrl-X o use "Funciones de corte" en el menú "Editar". Las características seleccionadas deberían desaparecer.
Luego puede desactivar la edición (icono de lápiz) y se le pedirá que guarde los cambios si lo desea, lo que sobrescribirá los datos originales en el disco o la base de datos.
fuente