Message posté par : ericma62
----------------------------------------
Salut
tu peux essayer ce script à lancer dans la console python. Fait attention a
l'indentation quand fera un copier coller.
CoucheATraiter=iface.activeLayer() #on prend la couche active
nbChamps=CoucheATraiter.fields().count()
print (nbChamps)
nbChampsX=0
for i in range(0,nbChamps): # on compte les champs qui commencent par X
if CoucheATraiter.fields().name()[0]=='X':
nbChampsX+=1
print (nbChampsX)
if nbChampsX != nbChamps:
nomChamp='total_'+ str(nbChamps-1)
CoucheATraiter.dataProvider().addAttributes([QgsField(nomChamp,QVariant.String)]) # on
ajoute un champ
CoucheATraiter.updateFields()
nouvNbChamps=CoucheATraiter.fields().count()
for feature in CoucheATraiter.getFeatures(): # on balaye toutes les lignes de la
table
chaine=''
for i in range(0,nbChamps):
if CoucheATraiter.fields().name()[0]=='X':
chaine= chaine+ str(feature.attributes()) # on fait la concatenation des
champs qui commencent par X
print (chaine)
attrib={nouvNbChamps-1:chaine}
CoucheATraiter.dataProvider().changeAttributeValues({feature.id():attrib}) # on
met à jour
print ('fin')
Eric
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=345879#p345879
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net