87 lines
3.5 KiB
Python

#!/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)