Bonjour,
Je bloque depuis hier sur cette requête qui fonctionne bien sur le Workbensh de MySQL mais dans mon code Python elle me sort ce message :
Pour information, cette requête est une suite du code ci-dessous qui marche bien où j’insère un fichier de format Excel dans ma table intermédiaire
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
22
23
24
25
26
27
28
29 INSERT INTO portefeuille( num_facture, num_contrat, code_contrat, categorie, affectation, status, etat, date_facturation, date_encaiss_attente_valid, date_reglement, date_annulation, montant_facture) SELECT `N° facture` AS num_facture, `N° Contrat` AS num_contrat, `Code Client` AS code_contrat, Categorie AS categorie, Affectation AS affectation, Statut AS status, Etat AS etat, `Date facturation` AS date_facturation, `Date encaissement en attente de validation` AS date_encaiss_attente_valid, `Date réglement` AS date_reglement, `Date annulation` AS date_annulation, `Montant TTC` AS montant_facture FROM inter_portefeuille; commit;
vous voudrez bien m'aider
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
22
23
24
25
26
27
28
29
30
31
32
33 try: _, extension = os.path.splitext(fichier_creances_name) if extension == ".xlsx": df = pd.read_excel(fichier_creances_name, engine='openpyxl') elif extension == ".xls": df = pd.read_excel(fichier_creances_name, engine='xlrd') else: raise ValueError("Format de fichier non pris en charge") # Connexion à la base de données self.cnx = mysql.connector.connect(host=param.host, database=param.database, user=param.user, password=param.password) self.cur = self.cnx.cursor() # Vidage table inter_portefeuille self.cur.execute('DELETE FROM inter_portefeuille') self.cnx.commit() # Créer un moteur SQLAlchemy engine = create_engine( 'mysql+mysqlconnector://' + param.user + ':' + param.password + '@' + param.host + '/' + param.database) # Insertion des données depuis le DataFrame dans la table intermédiaire inter_portefeuille df.to_sql('inter_portefeuille', con=engine, if_exists='replace', index=False) # Vidage table portefeuille self.cur.execute('DELETE FROM portefeuille') self.cnx.commit()
Partager