Traiter une donnée de mysql sur python

Résolu
Meurdo -  
Exileur Messages postés 1621 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'aimerai pouvoir récupérer des valeurs de la base de données en tant que variable. (pour envoyer des mails à partir d'une base de données ici)

import pymysql.cursors  

# YAY ON EST CO LA C'EST BIEN
baseDeDonnees = pymysql.connect(host='127.0.0.1',
user='root',
db='marchestp',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
print ("YAY ON EST CO")

curseur = baseDeDonnees.cursor()
curseur.execute("SELECT Mail FROM feuille_de_calcul_sans_titre___feuille_1 WHERE Envoi = 'x'")

myresult = curseur.fetchall()

for chaine in myresult:

chaine = ' '.join(chaine)
print(chaine)


Je récupère en sortie le nom de la colonne et je voudrai récupérer uniquement le contenu.

2 réponses

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour,
    ton code me semble bourré d'erreurs.
    ceci t'inspirera peut-être:
    for res in myresult:
        print(res["Mail"])
    1
    1. Exileur Messages postés 1621 Date d'inscription   Statut Membre Dernière intervention   150
       
      Hello,

      Et si jamais tu ne connais pas le nom du champ à l'avance tu peux tenter une approche comme ça :)
      import pymysql.cursors
      
      baseDeDonnees = pymysql.connect(host='127.0.0.1',
                                   user='root',
                                   password='my-secret',
                                   port=6603,
                                   db='testdb',
                                   charset='utf8mb4',
                                   cursorclass=pymysql.cursors.DictCursor)
      
      curseur = baseDeDonnees.cursor()
      curseur.execute("SELECT * FROM testdb.students LIMIT 10")
      
      field_name = [field[0] for field in curseur.description]
      values = curseur.fetchall()
      
      for entrie in values:
          chaine=""
          for key in field_name:
              chaine = chaine + str(entrie[key]) + ", "
          print(chaine)
      


      1, Ailn, Rathmouth, Rathmouth, 05144461974, Female, mailn0@bravesites.com, 97228 Emmalee Harbors Suite 421 South Emmet, TX 54950, 23031, 2001-12-16, 
      2, Hounson, Port Lolamouth, Port Lolamouth, 1-136-366-9496, Female, dhounson1@slashdot.org, 62654 Hirthe Lodge Port Zeldafurt, DE 87270, 27108, 1977-01-21,
      3, Tison, Lavernastad, Lavernastad, 157-283-0337x872, Female, ctison2@europa.eu, 9107 Blanda Plains Apt. 476 North Burdettechester, NM 91601, 76631, 1984-03-26,
      4, Surmeyers, Ethelville, Ethelville, 552.496.5910, Male, msurmeyers3@nytimes.com, 0997 Gleason Rue Apt. 149 East Gretaland, GA 13633-6343, 37965, 2005-03-17,
      5, Bob, Schulistland, Schulistland, 895-877-0076x197, Male, scbob@opensource.org, 39405 Nicolas Walk Apt. 041 Kozeychester, AL 20566-8063, 23031, 2019-07-15,
      6, Holdey, Kennithside, Kennithside, (055)403-3761, Female, aholdey5@miibeian.gov.cn, 747 Lucienne Shoal Suite 395 Runolfsdottirberg, NV 65296-7656, 23031, 1971-05-10,
      7, Blewmen, Oberbrunnerchester, Oberbrunnerchester, (598)918-4548x480, Male, rblewmen6@github.com, 34720 Randi Roads Apt. 947 Kossmouth, WV 43552-7336, 24772, 2011-03-26,
      8, Vanacci, Marcoport, Marcoport, 013-440-6362, Female, gvanacci7@bbb.org, 044 Gaylord Corner Apt. 486 Larsonchester, MA 59370, 16, 1973-05-17,
      9, Marflitt, New Adalineton, New Adalineton, 1-113-016-8153x30326, Male, dmarflitt8@istockphoto.com, 1670 Bogisich Lane Apt. 874 Port Malvina, CT 60714, 89650, 2009-03-23,
      10, Pietesch, East Kayla, East Kayla, (177)500-7249, Female, gpietesch9@forbes.com, 651 Mallory Centers Hoppefort, PA 46020, 45934, 2002-01-06,


      ( surement pas opti )
      0