#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





