Insertion impossible

Résolu/Fermé
chaldeen - 10 avril 2021 à 16:34
 chaldeen - 11 avril 2021 à 12:17
Bonjour,

Après création de ma base de données Postgresql, j'ai souhaité insérer des données issues d'une fichier csv puis stockées dans un dataframe 'data_stations'. J'ai alors défini une fonction comme j'ai l'habitude de le faire :

def inserer_donnees(conn, sql_insertion_table, donnees):
try:
cursor = conn.cursor()
for d in donnees:
cursor.execute(sql_insertion_table, d)
conn.commit()
except psycopg2.Error as e:
print("Erreur lors de l'insertion des données")
print(e)
return
cursor.close()
print("Les données ont été insérées avec succès")


sql_inserer_stations = """
INSERT INTO Station
(id, nom, longitude, latitude, organisme)
VALUES (id, Nom, Longitude, Latitude, Organisme)
"""


inserer_donnees(conn, sql_inserer_stations, data_stations)


J'obtiens alors ce message d'erreur, que je vois pour la 1ère fois.
Erreur lors de l'insertion des données
ERREUR: la colonne « id » n'existe pas
LINE 4: VALUES (id, Nom, Longitude, Latitude, Organisme)
^
HINT: Il existe une colonne nommée « id » pour la table « station » mais elle ne peut pas être référencée dans cette partie de la requête.


Les 5 colonnes de la table correspondent pourtant bien aux 5 colonnes du dataframe. Quelqu'un aurait une idée du problème ?

Merci à vous
A voir également:

3 réponses

yg_be Messages postés 22722 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
10 avril 2021 à 16:49
bonjour,
peux-tu donner la définition détaillée du champ
id
de la table
station
?
0
Bonjour,

Bien sûr, elle correspond à l'identifiant d'une station de comptage de voitures, cet identifiant figure déjà dans le fichier csv, ce n'est pas un identifiant généré automatiquement lors de l'insertion des données.
0
yg_be Messages postés 22722 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
10 avril 2021 à 18:15
es-tu certain que la technique que tu utilises fonctionne?
peux-tu montrer un exemple similaire qui fonctionne bien?
0
yg_be Messages postés 22722 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476 > yg_be Messages postés 22722 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024
10 avril 2021 à 18:16
peux-tu aussi partager un code complet? n'y manque-t-il pas des
import
?
0
J'ai finalement réussi avec la fonction COPY en exécutant directement avec un CursorExecute, mais merci beaucoup ! :)
0