#!/usr/bin/env python3 # -*- coding: UTF-8 -*- #Nom : : medwet.py #Description : #Copyright : 2021, CEN38 #Auteur : Colas Geier #Version : 1.0 import pandas as pd import numpy as np from pycen import bdd from sqlalchemy import create_engine # Parametres bdd user = 'cen_admin' pwd = '#CEN38@venir' adr = '192.168.0.3' base = 'bd_cen38' schema = 'zh' table = 'cr_cen38_zh_medwet_v2021' dict_col = [{'criete_delimit': 'critere_delim'}] con = create_engine('postgresql+psycopg2://{0}:{1}@{2}/{3}'.format(user,pwd,adr,'bd_cen_new'), echo=False) # Connexion bdd bd = bdd.CEN( user = user, pwd = pwd, adr = adr, base = base # schema = schema ) df = bd.get_table( schema = schema, table = table) ##### critere_delimitation critere_delimitation = pd.DataFrame(df.criete_delimit) # remplacement d'une chaine de caractère critere_delimitation.criete_delimit = critere_delimitation.criete_delimit.str.replace('critère de délimitation ZH : ', '') # elimination des lignes vides critere_delimitation.dropna(inplace = True) # split des champs regroupant plusieurs infos et concaténation critere_delimitation.criete_delimit = pd.concat( [pd.Series(row['criete_delimit'].split(' // ')) for _, row in critere_delimitation.iterrows()] ).reset_index(drop=True) liste_critere_delim = pd.DataFrame(critere_delimitation.criete_delimit.unique(), columns=['caracteristique']) liste_critere_delim = liste_critere_delim.append(pd.DataFrame(['tutu'], columns=['caracteristique'])) liste_critere_delim.reset_index(inplace=True, drop=True) liste_critere_delim.to_sql(name='zh_delimitation', con=con, schema='zone_humide', index=False, if_exists='append') ##### regime_hydrique_entree regime_hydrique_entree = pd.DataFrame(df.regime_hydrique_entree) regime_hydrique_entree.dropna(inplace = True) regime_hydrique_entree.regime_hydrique_entree = pd.concat( [pd.Series(row['regime_hydrique_entree'].split(' // ')) for _, row in regime_hydrique_entree.iterrows()] ).reset_index(drop=True) regime_hydrique_entree.reset_index(drop=True, inplace=True) regime_hydrique_entree[['ecoulement_entree', 'toponymie', 'temporalite']] = regime_hydrique_entree.regime_hydrique_entree.str.split(' ; ', 2, expand=True) # regime_hydrique_entree[['toponymie', 'temporalite']] = regime_hydrique_entree.temporalite.str.split(' ; ', 1, expand=True) regime_hydrique_entree.drop(columns='regime_hydrique_entree', inplace = True) regime_hydrique_entree.ecoulement_entree = regime_hydrique_entree.ecoulement_entree.str.replace('Entrée d\'eau : ', '') regime_hydrique_entree.toponymie = regime_hydrique_entree.toponymie.str.replace('Toponymie : ', '') regime_hydrique_entree.temporalite = regime_hydrique_entree.temporalite.str.replace('Permanence : ', '') regime_hydrique_entree.ecoulement_entree.unique() regime_hydrique_entree.toponymie.unique() regime_hydrique_entree.temporalite.unique() ##### regime_hydrique_sortie regime_hydrique_sortie = pd.DataFrame(df.regime_hydrique_sortie) regime_hydrique_entree.dropna(inplace = True) regime_hydrique_sortie.regime_hydrique_sortie = pd.concat( [pd.Series(row['regime_hydrique_sortie'].split(' // ')) for _, row in regime_hydrique_sortie.iterrows()] ).reset_index(drop=True) regime_hydrique_sortie['ecoulement'], regime_hydrique_sortie['toponymie'], regime_hydrique_sortie['permanence'] regime_hydrique_freq = pd.DataFrame(df.regime_hydrique_freq) regime_hydrique_origine = pd.DataFrame(df.regime_hydrique_orig) regime_hydrique_etendue = pd.DataFrame(df.regime_hydrique_etendue)