Bonjour,
J'aimerais importer de mon fichiers .csv des données à une base Postgres et je veux le faire chaque 15 minutes avec python .
Comment le faire svp , je suis bloquée
Bonjour,
J'aimerais importer de mon fichiers .csv des données à une base Postgres et je veux le faire chaque 15 minutes avec python .
Comment le faire svp , je suis bloquée
Salut,
Pourquoi voulez vous faire çà avec Python alors que la commande COPY de Postgress sait le faire de façon bien plus efficace?
De plus vous avez un utilitaire PSQL qui permet de mettre ces commandes dans un script.
Et des job scheduler comme "cron" pour lancer le script toutes les 15 mns.
- W
Merci bcp pour votre réponse, je suis une débutante , pouvez vous me guider plus?
Bonjour
Toutes les instructions mentionnées par wiztricks sont des instructions Postgres donc pour plus de détails il faudrait plutôt aller dans la partie du forum qui les concerne leur poser la question.
En Python, il faut commencer par récupérer une librairie permettant de taper dans une bdd Postgres (j'utilise psycopg2) puis l'utliser pour ouvrir une connexion sur la bdd (user, mot de passe) => bdd=psycopg2.connect(...); curs=bdd.cursor().
Ensuite juste récupérer les lignes du fichier (with open(fichier, "r") as fp: data=fp.readlines()). Puis découper ces lignes sur le caractère de séparation (for d in data: infos=d.split()), puis insérer ces infos dans les tables qui vont bien en passant l'ordre d'insert à la bdd au travers le curseur issu de la connexion (curs.execute("insert into ... values (...)").
Puis fermer tout (bdd, curseur).
Faut aussi penser aux insertions multiples. Un traitement toutes les 15mn entrainera que des lignes déjà traitées seront de nouveau traitées 15mn plus tard donc penser à ce qui doit se passer dans ce cas (ne pas traiter, réinsérer en plus, arrêter tout avec alarme, etc...)
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
PSQL, CSV, COPY sont des mots clefs que vous pouvez utiliser pour chercher un peu sur Internet et y trouver des petits tutos comme celui-ci.
Après si vous êtes trop débutante pour chercher un peu... ben prenez le temps de débuter et posez vos questions dans le bon forum (importer un fichier CSV dans une base de données est une question à poser dans le forum base de données ou PostGresSQL, cron est un utilitaire Linux,...)
- W
Partager