[Python] Replace string tuple

Replace string tuple [Python] - Python - Programmation

Marsh Posté le 03-11-2016 à 14:23:36    

Bonjour à vous,
 
Je viens vers vous car je me galère sur ce problème à chaque script que je fais et je trouve pas de best practice claire.
 
Je me mange ce message: unsupported operand type(s) for %: 'tuple' and 'tuple'
 
voila la ligne concernée:

request_info = "SELECT id FROM table;"
info_table = request_sql(request_info)
 
for each_id in info_table:
 
 user_id = each_id
 print(user_id)
 request_user_info = request_sql("SELECT info FROM table where id = '%s';" ) % user_id


 
Le but: récupérer une liste des id dans une table, puis récupérer des infos en fonction de cet id (afin de pas faire de doublon).
 
Auriez-vous des conseils/BP à me donner?
 
Je travail en python 2.7
 
Merci


Message édité par gizmo15 le 03-11-2016 à 14:24:16
Reply

Marsh Posté le 03-11-2016 à 14:23:36   

Reply

Marsh Posté le 04-11-2016 à 01:34:35    

j'imagine que tu voulais dire :

Code :
  1. request_user_info = request_sql("SELECT info FROM table where id = '%s';" % user_id )


---------------
I'm too old for this shit.
Reply

Marsh Posté le 04-11-2016 à 12:38:42    

non je l'ai bien écris comme ca, après c'est peut être pas la bonne syntaxe hein ^^

Reply

Marsh Posté le 04-11-2016 à 22:24:53    

Chaque ligne de la réponse à ta requête est un tuple, il faut que tu récupère l'id  qui est le premier (et seul) élément de la réponse; user_id[0]


Message édité par h3bus le 04-11-2016 à 22:28:30

---------------
sheep++
Reply

Marsh Posté le 17-11-2016 à 22:12:03    

Bonsoir,
 
Désolé du temps de réponse.
 
H3bus: hum d'accord, merci je vais essayer

Reply

Marsh Posté le 25-11-2016 à 10:51:44    

Hola,
 
Juste pour donner un retour, en combinant vos deux réponses, ca fonctionne:

request_user_info = request_sql("SELECT info FROM table where id = '%s';" % user_id[0] )


 
Merci à vous :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed