import os import json import psycopg2 # Chemin vers le dossier contenant les fichiers JSON json_folder_path = r"C:\Users\amaxime\data" try: # Connexion à la base de données PostgreSQL with psycopg2.connect( dbname="xxxxxx", user="postgres", password="xxxxxxxxx", host="xxxxxxxx" ) as conn: with conn.cursor() as cursor: # Parcourir tous les fichiers JSON dans le dossier for filename in os.listdir(json_folder_path): if filename.endswith('.json'): file_path = os.path.join(json_folder_path, filename) # Lire le fichier JSON with open(file_path, 'r', encoding='utf-8') as file: try: data = json.load(file) # Préparer l'insertion des données dans la table cursor.execute(""" INSERT INTO public.test_integ_json ( number, id_dossier, ref_cad, commune, zonage_ep, def_projet, surf_total, surf_voi, surf_semi_perm, surf_toi_vege, surf_toi, surf_eng, surf_vege, etud_sol_etude_perm, etud_sol_typ, etud_sol_val, etud_sol_cote_terr, etud_sol_surf_inf ) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s) """, ( data.get("number"), data.get("id_dossier"), data.get("ref_cad"), data.get("commune"), data.get("zonage_ep"), data.get("def_projet"), data.get("surf_total"), data.get("surf_voi"), data.get("surf_semi_perm"), data.get("surf_toi_vege"), data.get("surf_toi"), data.get("surf_eng"), data.get("surf_vege"), data.get("etud_sol_etude_perm"), data.get("etud_sol_typ"), data.get("etud_sol_val"), data.get("etud_sol_cote_terr"), data.get("etud_sol_surf_inf") )) except json.JSONDecodeError as e: print(f"Erreur lors de la lecture du fichier {filename}: {e}") except Exception as e: print(f"Erreur lors de l'insertion dans la base de données pour {filename}: {e}") # Valider les transactions conn.commit() except Exception as e: print(f"Erreur de connexion à la base de données: {e}")