banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Wed 22 December 2021 11:23

laripaille
Participant occasionnel
Date d'inscription: 15 Nov 2008
Messages: 11

QGIS 3.16/Python: Jointure attributaire

Bonjour

Débutant en python
Je souhaite faire une jointure entre une couche de polygone et un fichier excel

En python, j'arrive à  :

Ajouter la couche de polygone
importer le fichier Excel
Créer la jointure MAIS dans une nouvelle couche (c'est le problème !!!)

Je souhaite que la jointure soit permanente sur la couche des polygones (donc en liaison avec le fichier Excel)

Code:

       
        #couche polygone chargée
        layer = self.iface.activeLayer()
        #chargement couche Excel
        repexcel = "V:/QGIS_GEOESPACE.xlsx"
        ficexcel = "QGIS_GEOESPACE.xlsx"
        cexcel = QgsVectorLayer(repexcel, 'TEST_EXCEL', 'ogr')
        cexcel.setProviderEncoding('UTF-8')
        if not cexcel.isValid():
            # fix_print_with_import
            print("Layer failed to load")
        else:
            QgsProject.instance().addMapLayer(cexcel)
        
        #jointure
        shpField='IDENTIFIANT'
        csvField='IDENTIFIANT'
         
        params = {
            'INPUT': layer,
            'FIELD':shpField,
            'INPUT_2': cexcel,
            'FIELD_2': csvField,
            'FIELDS_TO_COPY': None,
            'OUTPUT': 'memory:'
        }
        result = processing.run('qgis:joinattributestable', params)
        QgsProject.instance().addMapLayer(result['OUTPUT'])

Une idée

Programmation avec QSIG 3.16

Merci d'avance pour votre retour

Hors ligne

 

Pied de page des forums

Powered by FluxBB