#1 Sat 12 April 2025 18:17
- Marcopololo
- Participant actif
- Lieu: Etival Clairefontaine
- Date d'inscription: 23 Nov 2021
- Messages: 109
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


