IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

[arcpy] Valeur d'un champ [Python 2.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    dessinateur CAO/DAO
    Inscrit en
    Juillet 2017
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : dessinateur CAO/DAO

    Informations forums :
    Inscription : Juillet 2017
    Messages : 46
    Par défaut [arcpy] Valeur d'un champ
    Bonjour,

    Je cherche actuellement à connaitre la valeur du premier enregistrement du champ ENTREPRISE de ma couche SOUTERRAIN.
    Malheureusement je n’y arrive pas. J’ai besoin de cette valeur afin de pouvoir l’attribuer à d’autres Shape de mon projet.
    Je me doute qu’avec une boucle for … in j’aurai une liste mais je trouve pas la méthode pour n'avoir que le résultat du premier enregistrement (sachant que de toute façon tout les enregistrements de ce shape ont le même nom.
    Pouvez-vous m’aider ?

    D'avance merci.

    Bonne journée à tous et à toutes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    # import system modules
    import os
    import sys
     
    import arcpy
    from arcpy import env
    from arcpy import *
     
    env.workspace = "C:/Users/ppj/Documents/commune/444589-EP01/RESEAUX"
     
    SOUT = "SD_EP_SOUTERRAIN.shp"
     
    cursor = arcpy.da.SearchCursor('SOUTERRAIN.shp', 'ENTREPRISE')
    for row in cursor:
        print(row[0])
     
    print 'script fini'

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    Salut,

    Citation Envoyé par Nherve Voir le message
    Je me doute qu’avec une boucle for … in j’aurai une liste mais je trouve pas la méthode pour n'avoir que le résultat du premier enregistrement
    Si la question est d'arrêter la boucle "for" à la première itération:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for row in cursor:
        break
    print(row[0])
    que l'on devrait pouvoir écrire aussi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    row = next(cursor)
    print(row[0])
    ou plutôt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    row = cursor.next()
    print row[0]
    si vous êtes sous Python2.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre confirmé
    Femme Profil pro
    dessinateur CAO/DAO
    Inscrit en
    Juillet 2017
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : dessinateur CAO/DAO

    Informations forums :
    Inscription : Juillet 2017
    Messages : 46
    Par défaut
    Super ça fonction sauf que..... cela me donne un resultat sous la forme (u'ToutTravaux') que je n'arrive pas en transformer en simple text pour le mettre dans une variable.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SOUT = "SD_EP_SOUTERRAIN.shp"
     
    cursor = arcpy.da.SearchCursor('SOUTERRAIN.shp', 'ENTREPRISE')                                      
    Entreprise = arcpy.da.SearchCursor('SOUTERRAIN.shp', 'ENTREPRISE')                                            
    row2 = Entreprise.next()
    print(row2)
     
    with arcpy.da.UpdateCursor('SOUTERRAIN.shp', 'ENTREPRISE') as cursor:                                          
        for row in cursor :
            row[0] = row2
            cursor.updateRow(row)

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Citation Envoyé par Nherve Voir le message
    Super ça fonction sauf que..... cela me donne un resultat sous la forme (u'ToutTravaux') que je n'arrive pas en transformer en simple text pour le mettre dans une variable.
    Est- ce que çà ne retourne pas plutôt (u'ToutTravaux', ) ? Car "row" devrait être un tuple... et accéder au premier élément d'un tuple se fait comme pour toute séquence avec des [] et l'index de l'élément.... Et si c'est un tuple, à la ligne 10, çà devrait aussi planter pour d'autres raisons.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre confirmé
    Femme Profil pro
    dessinateur CAO/DAO
    Inscrit en
    Juillet 2017
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : dessinateur CAO/DAO

    Informations forums :
    Inscription : Juillet 2017
    Messages : 46
    Par défaut
    Tout a fait j'obtiens bien (u'ToutTravaux', )

    Existe t'il un moyen de transformer cette liste en une donnée exploitable que je puisse mettre dans une variable?

  6. #6
    Membre confirmé
    Femme Profil pro
    dessinateur CAO/DAO
    Inscrit en
    Juillet 2017
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : dessinateur CAO/DAO

    Informations forums :
    Inscription : Juillet 2017
    Messages : 46
    Par défaut
    Bonjour,

    Avec un beaucoup d'aide extérieur et de la "chance" je m'en suis sorti pour cette fois.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
     SOUT = "SOUTERRAIN.shp"
     
                cursor = arcpy.da.SearchCursor('SOUTERRAIN.shp', 'ENTREPRISE')
                i = 0
                for row in cursor:
                   if i == 0:
                    print(row[0])
                    i = row[0]
     
     
                with arcpy.da.UpdateCursor('EMPRISE.shp', 'ENTREPRISE') as cursor:                                          
                    for row in cursor :
                        row[0] = i
                        cursor.updateRow(row)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Reccupération directe valeur d'un champ compteur
    Par jmr dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 24/11/2004, 08h25
  2. Valeur d'un champ non connu
    Par Pierre FORAZ dans le forum XMLRAD
    Réponses: 2
    Dernier message: 11/10/2004, 11h08
  3. Conserver une valeur dans un champs
    Par zakfa dans le forum IHM
    Réponses: 5
    Dernier message: 04/10/2004, 08h48
  4. récupérer la valeur du 2ème champ dans un DBLookUpListBox
    Par jakouz dans le forum Bases de données
    Réponses: 3
    Dernier message: 20/07/2004, 16h45
  5. Pb pour créer un ID en fonction de la valeur d'un champ....
    Par zouzou.net dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 26/03/2004, 11h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo