87 lines
3.5 KiB
Python
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) |