#1 Sat 12 April 2025 18:17
- Marcopololo
- Participant actif
- Lieu: Etival Clairefontaine
- Date d'inscription: 23 Nov 2021
- Messages: 97
QGIS: Join sur liste imbriquee
Bonjour,
J'ai créé un nouveau post pour une demande plus précise.
comment utiliser join sur une liste imbriquée ?
pour une liste simple j'ai ce code qui fonctionne :
Code:
def build_liste_arbres(e): fields = [ 'liste_arbres_Plant1', 'liste_arbres_Plant2', 'liste_arbres_Plant3', 'liste_arbres_Plant4' ] to_str = "\n".join([e[field] for field in fields if e[field]]) if not to_str: return 'Aucune essence définie ici...' return to_str self.dlg.plantation.setText(build_liste_arbres(e))
Mais pour une liste imbriquée j'ai une erreur :
Code:
def build_travaux_dates(e): #fields = fields.strftime("%d/%m/%Y") fields= [ ['parcelles_Travaux_Date1','parcelles_Travaux_Travaux1'], ['parcelles_Travaux_Date2','parcelles_Travaux_Travaux2'], ['parcelles_Travaux_Date3','parcelles_Travaux_Travaux3'], ['parcelles_Travaux_Date4','parcelles_Travaux_Travaux4'], ['parcelles_Travaux_Date5','parcelles_Travaux_Travaux5'], ['parcelles_Travaux_Date6','parcelles_Travaux_Travaux6'], ] to_str = "\n".join([e[field] for field in fields if e[field]]) if not to_str: return '' return to_str self.dlg.tavauxListe.setText(build_travaux_dates(e))
Voici le code erreur :
to_str = "\n".join([e[field] for field in fields if e[field]])
~^^^^^^^
TypeError: QgsFeature.__getitem__(): arguments did not match any overloaded call:
overload 1: argument 1 has unexpected type 'list'
overload 2: argument 1 has unexpected type 'list'
Bien sûr avec une seule ligne cela fonctionne
Dernière modification par Marcopololo (Sat 12 April 2025 23:57)
Hors ligne