Estoy tratando de separar un valor de cadena de un campo y luego ponerlo en su campo releated.
El nombre del campo son caracteres de la cadena y su valor es el número.
"Campo"=PT 100BC 20cd 19 es el valor de la cadena
PT= 100, BC=20 cd=19.
la cadena es irregular.
los nombres de las columnas son los caracteres de la cadena y el número es el valor asociado a ella.
Hasta ahora lo he hecho.
from qgis.core import *
import qgis.utils
inlayer=iface.activeLayer()
inlayer.selectByExpression('"TRTMTHD1"=\'PLANT\'or "TRTMTHD1"=\'NATURAL\' ')
selection=inlayer.selectedFeatures()
for s in selection:
d=(sl.split() for sl in s)
Si hacen la división el resultado es PT, 100BC, 20CD que no quiero.
¿Qué comando utilizo para dividir el valor en la columna de campo y luego actualizar el registro?
Después de ejecutar este
{from qgis.core import * importar qgis.utils
layer=iface.activeLayer() fc=capa.featureCount() f_list=[] for i in range(0,fc): feat=layer.getFeature(i) f_list.append(feat['SPCOMP'])
field_list=[] for f in capa.campos(): if len(f.name())==2: field_list.append(f.name())
layer.selectByExpression('"TRTMTHD1"='PLANTA'o "TRTMTHD1"='NATURAL\'' ') selection=layer.selectedFeatures()
f if cadena!=Ninguna: for fn in lista_campos: cadena=cadena.replace(fn,',' + fn)
list_of_field_values=(string.split(',') for string in f_list)
for fvl in list_of_field_values:
if fvl !='':
fd,vl=fvl.split(' ')
print('field=',fd,'value=',vd)}
I get AttributeError: 'list' object has no attribute 'split'