68 lines
1.9 KiB
Python
68 lines
1.9 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: UTF-8 -*-.
|
|
|
|
from sqlalchemy import create_engine #, text
|
|
from sqlalchemy.engine import URL
|
|
from sqlalchemy.types import Date,Time,String
|
|
from shapely.geometry import Point
|
|
import pandas as pd
|
|
import datetime
|
|
from pycen import con_bdcen as con
|
|
|
|
file = '/home/colas/Documents/9_PROJETS/4_SICEN/IMPORT/Tableau Saisie_FauneFlore_AG_30_03_22.xlsx'
|
|
# file = '/home/colas/Documents/9_PROJETS/4_SICEN/LPO/cdnom_idvisionature.csv'
|
|
to_table = 'import_data_cen38'
|
|
# to_table = 'taxons_fauneisere_biolovision_taxref'
|
|
|
|
|
|
df = pd.read_excel(
|
|
file,
|
|
skiprows=[1,2,3,4]
|
|
)
|
|
if 'nom de champ' in df.columns:
|
|
del df['nom de champ']
|
|
# df = pd.read_csv(file,sep=',')
|
|
df.columns = df.columns.str.strip().str.lower()
|
|
df.dropna(subset=['date_obs'],inplace=True)
|
|
df.drop_duplicates(inplace=True)
|
|
|
|
|
|
date_default = datetime.datetime(1899, 12, 30, 0, 0)
|
|
# data_import.loc[data_import['time_start'] == date_default,'time_start'] = datetime.time(0,0)
|
|
# data_import.loc[data_import['time_stop'] == date_default,'time_stop'] = datetime.time(0,0)
|
|
# data_import.loc[data_import['time_start'] == '1899-12-30 00:00:00','time_start'] = '00:00:00'
|
|
# data_import.loc[data_import['time_stop'] == '1899-12-30 00:00:00','time_stop'] = '00:00:00'
|
|
# df.loc[df['horaire'] == date_default,'horaire'] = datetime.time(0,0)
|
|
df.date_obs = df.date_obs.dt.date
|
|
|
|
if to_table == 'import_data_cen38':
|
|
dtype = {
|
|
'date_obs':Date,
|
|
'date_debut_obs':Date,
|
|
'date_fin_obs':Date,
|
|
'heure':Time,
|
|
'strate':String,
|
|
'phenologie':String,
|
|
'cd_nom':String,
|
|
'sexe':String,
|
|
'precision':String}
|
|
else : dtype = None
|
|
|
|
|
|
df.to_sql(
|
|
name=to_table,
|
|
con = con,
|
|
schema='import',
|
|
index=False,
|
|
if_exists='replace',
|
|
method='multi',
|
|
dtype=dtype
|
|
)
|
|
|
|
sql_grant = """
|
|
GRANT ALL ON TABLE import.%s TO grp_admin
|
|
""" % to_table
|
|
|
|
with con.begin() as cnx:
|
|
cnx.execute(sql_grant)
|