Traiter une donnée de mysql sur python [Résolu]

Signaler
-
Messages postés
1466
Date d'inscription
mercredi 31 août 2011
Statut
Membre
Dernière intervention
20 mai 2021
-
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

Messages postés
16017
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
14 juin 2021
867
bonjour,
ton code me semble bourré d'erreurs.
ceci t'inspirera peut-être:
for res in myresult:
    print(res["Mail"])
Messages postés
1466
Date d'inscription
mercredi 31 août 2011
Statut
Membre
Dernière intervention
20 mai 2021
130
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 )
Merci beaucoup !!!