Pages: 1
- Sujet précédent - QGIS 2.14 & Python: Fonction format_number (séparateur de milliers) - Sujet suivant
#1 Mon 18 July 2016 14:47
- Cerise45
- Participant actif
- Date d'inscription: 31 Aug 2011
- Messages: 132
QGIS 2.14 & Python: Fonction format_number (séparateur de milliers)
Bonjour,
J'ai un petit problème dans le script suivant.
Code:
from PyQt4.QtCore import * from PyQt4.QtGui import * from qgis.core import * from qgis.gui import * from osgeo import * from qgis.utils import qgsfunction import processing, time [...] layerTOT = QgsMapLayerRegistry.instance().mapLayer("ID_de_ma_couche") layerTOT.startEditing() for feat in layerTOT.getFeatures(): writefieldtot = layerTOT.fieldNameIndex("CHAMP_NBR") writefieldtotEtiqu = layerTOT.fieldNameIndex("CHAMP_TXT") resulttot = float(feat.attribute("CHAMP_NBR1")) + float(feat.attribute("CHAMP_NBR2")) layerTOT.changeAttributeValue(feat.id(),writefieldtot,resulttot) # Recopier les valeurs dans des champs texte pour faire les étiquettes avec les séparateurs par milliers expr = format_number(resulttot , 0) layerTOT.changeAttributeValue(feat.id(),writefieldtotEtiqu,expr) layerTOT.commitChanges()
La ligne expr = format_number(resulttot , 0) ne fonctionne pas.
L'erreur qui se produit est : global name 'format_number' is not defined.
Savez-vous comment l'importer au début du script ? Ou s'il s'agit d'un autre type d'erreur ?
J'ai au préalable essayé cette fonction dans le calculateur de champ de QGIS et elle fonctionnait très bien puisque les résultats dans ma table attributaire étaient bien des nombres avec le séparateur par milliers.
format_number( "CHAMP_NBR" ,0)
C'est au moment où je la passe dans le script (via un plugin) qu'elle ne fonctionne plus.
Merci de votre aide.
Dernière modification par Cerise45 (Mon 18 July 2016 14:48)
Hors ligne
#2 Mon 18 July 2016 16:19
- Cerise45
- Participant actif
- Date d'inscription: 31 Aug 2011
- Messages: 132
Re: QGIS 2.14 & Python: Fonction format_number (séparateur de milliers)
J'ai résolu ce problème en appliquant le format (même formule) directement aux étiquettes au lieu de l'appliquer dans le calcul du champs.
Hors ligne
Pages: 1
- Sujet précédent - QGIS 2.14 & Python: Fonction format_number (séparateur de milliers) - Sujet suivant