Más

¿Cómo dividir el atributo de texto por caracteres en QGIS?

¿Cómo dividir el atributo de texto por caracteres en QGIS?


¿Es posible crear una nueva columna, por ejemplo llamada "Prueba" y almacenar la primera parte de la columna "Nombre" dividida por-?

Vea a continuación cómo debería verse:


Sí tu puedes.

Utilice la calculadora de campo con la siguiente expresión:

left ("Nombre", strpos ("Nombre", '-'))

La función strpos () devolverá la posición de índice del primer carácter '-' y la función left () "recorta" la cadena antes de esa posición.


Puede utilizar la calculadora de campo con la siguiente expresión:

string_to_array ("Nombre", ")

La función string_to_array () divide la cadena en una matriz utilizando el delimitador proporcionado.

Si desea una posición de la matriz, puede agregar la posición y devolverá el valor. como esto:

string_to_array ("Nombre", ") [2]


Posible solución mediante PyQGIS.

Supongamos que hay una capa de puntos llamada"algunos puntos"con su tabla de atributos, vea la imagen a continuación.

Proceder conComplementos> Consola Python> Mostrar editory pegue el script a continuación

de PyQt5.QtCore importar QVariant layer = iface.activeLayer () si no es layer.isValid (): print ("¡La capa no se pudo cargar!") layer_provider = layer.dataProvider () layer_provider.addAttributes ([QgsField ("Prueba", QVariant .String)]) layer.updateFields () features = layer.getFeatures () layer.startEditing () para f en características: attrs = {2: f ['info']. Split ('-') [0]} layer_provider .changeAttributeValues ​​({f.id (): attrs}) layer.commitChanges ()

La salida se verá


Referencias:


Ver el vídeo: Aprenda a como DISTRIBUIR seus Pontos de Leveis no ARK MOBILE. PVE. PVP. PVX. EuSouAndroid