Mon problème est de savoir comment mapper des valeurs de dictionnaire aux index de ligne. J'ai un dictionnaire comme:Dictionnaire de mappage avec valeurs de lignes
ordered_dict = OrderedDict(1:"id", 2:"name", 3:"address", 4:"salary")
Et je suis arrivé lignes d'une requête select
comme: Avec le code suivant
row = ["David", 4500, "France", 121]
, où je reçois id
comme premier indice dans le dictionnaire, qui est le quatrième cas de row
, je veux les mapper de telle sorte que la valeur de variable obtiendra réellement les valeurs du id
du row
.
for item in ordered_dict.iteritems:
value = row[index of current item in dictionary] # which is 1 for the id.
Mais je veux l'indice de id
dans un row
. c'est à dire.
value = row[index of id in row] # that is, value = row [4]
afin que je puisse récupérer la valeur de id
de row
, qui est 121
.
Je ne peux pas casser la structure actuelle du dictionnaire ou la requête select
, donc je cherche un moyen de mapper les éléments de ligne au dictionnaire.
Edit: Dans le code ci-dessus ce que je reçois dans la première itération est
value = row[0] # here 0 is the id of dictionary,
Mais si row[0]
récupérera "David"
comme indice 0
de row
contient "David"
, je veux l'indice de id
à être mis en correspondance avec row
, qui est 3
dans mon exemple, de sorte que je vais obtenir value = row[3]
, ici 3
est l'index de id
en row
, et par conséquent je vais obtenir 121
comme résultat.
Je ne comprends pas votre problème. Pourriez-vous s'il vous plaît fournir la sortie attendue? –
pouvez-vous poster votre requête pour la récupération des données? vous pouvez faire l'ordre désiré lors de la sélection des colonnes dans la requête afin qu'il puisse mapper avec le dictionnaire –
J'ai édité mon poste avec la sortie attendue. –