Message posté par : Marc GROSJEAN
----------------------------------------
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'],
] 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'
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=372626#p372626
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