Bonjour !

Je suis actuellement nouveau et j'apprend sur le tas le python 3 en m'amusant.

Mon projet actuel est d'utiliser mon RaspberryPi4 en serveur Web, et d'utiliser une interface web (codé a la main(Php/Html)) afin d’afficher mon planning de travail sur une page web.
Maintenant, je souhaitais créer un programme python capable de récupérer des infos via un fichier *.CSV qui contient mon planning pour l’incrémenter dans ma base de donnée.

La arrive mon problème, pour accéder à ma database j'utilise mysql connector ça fonctionne bien et c'est simple d'utilisation.
Sauf que je n'arrive pas a rendre dynamique le nom de la table concernée pour mes requêtes SQL.

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
19
20
21
 
if verify == 1 :
       # on récupère le mois concerné, pour ensuite ajouter le planning dans la DB
        mois = row[0]
 
        year = datetime.datetime.now()
        config = {
                'user': 'root',
                'password': 'mdp',
                'host': '127.0.0.1',
                'database': str(year.year),
                'raise_on_warnings': True
                }
        cnx = mysql.connector.connect(**config)
        cursor = cnx.cursor()
 
        cursor.execute("SELECT COUNT(ID) AS nb2 FROM %s WHERE login=%s", (str(mois), row[1],))
 
        results = cursor.fetchall()
        for nb2 in results:
                print(results[0])
Mais voila ou est mon problème c'est que je ne peux pas utiliser de variable pour le nom de ma table, car ça renvois des ' ' au début et à la fin du nom de ma table. Exemple: 'decembre'
Et python répond:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
Traceback (most recent call last):
  File "py_csv.py", line 88, in <module>
    cursor.execute("SELECT COUNT(ID) AS nb2 FROM %s WHERE login=%s", (str(mois), row[1],))
  File "/usr/lib/python3/dist-packages/mysql/connector/cursor.py", line 569, in execute
    self._handle_result(self._connection.cmd_query(stmt))
  File "/usr/lib/python3/dist-packages/mysql/connector/connection.py", line 553, in cmd_query
    result = self._handle_result(self._send_cmd(ServerCmd.QUERY, query))
  File "/usr/lib/python3/dist-packages/mysql/connector/connection.py", line 442, in _handle_result
    raise errors.get_exception(packet)
mysql.connector.errors.ProgrammingError: 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''novembre' WHERE login='BOUSIM'' at line 1
J'ai chercher de la doc pour mysql.connector, ils expliquent pleins de choses intéressante mais pas ça. Je dois me focaliser sur quelque chose qui doit être faisable d'une manière différente je pense.
Si quelqu'un a des connaissance a me faire partager je serais extrêmement reconnaissant !

A l'avenir, je souhaiterais ensuite faire un programme capable de récupérer mon planning dans ma base de donnée, et de créer un fichier *.ics pour le lier a mon google agenda (testé et ça marche ).

Bonne journée à tous et à toutes ! Et merci d'avance pour votre aide.