correction des données hors taxref
This commit is contained in:
parent
5d5b5af561
commit
fc15fe1c99
107
1_SICEN/correct_data_notTaxref.py
Normal file
107
1_SICEN/correct_data_notTaxref.py
Normal file
@ -0,0 +1,107 @@
|
||||
from pycen import con_gn,con_sicen, update_to_sql
|
||||
import pandas as pd
|
||||
|
||||
|
||||
############################
|
||||
####### Araignée sp. #######
|
||||
######## Fungi sp. #########
|
||||
############################
|
||||
dict_tax = {
|
||||
'Pachygnatha sp':195648,
|
||||
'Clubiona sp':190950,
|
||||
'Enoplognatha sp':192179,
|
||||
'Tetragnatha sp':198316,
|
||||
'Linyphiidae sp':184366,
|
||||
'Episinus sp':192245,
|
||||
'Evarcha sp':192480,
|
||||
'Thanatus sp':198365,
|
||||
'Xysticus sp':199101,
|
||||
'Araneidae sp':184354,
|
||||
'Pardosa cf saltans':457342, # doute
|
||||
'Zora sp':199158,
|
||||
'Piratula sp':806893,
|
||||
'Pardosa sp':195830,
|
||||
'Thomisidae sp':184390,
|
||||
'Gnaphosidae sp':184362,
|
||||
'Araniella sp':189390,
|
||||
'Pirata sp':196303,
|
||||
'Trochosa sp':198691,
|
||||
'Zelotes sp':199129,
|
||||
'Agelena sp':188876,
|
||||
'Ozyptila sp':202569,
|
||||
'Metellina sp':202546,
|
||||
'Hyptiotes cf paradoxus':1058, # doute
|
||||
'Phrurolithus sp':196174,
|
||||
'Tegenaria sp':198254,
|
||||
'Singa sp':197676,
|
||||
'Heliophanus sp':193148,
|
||||
'Zodarion sp':199147,
|
||||
'Tmarus sp':198482,
|
||||
'Dysdera sp':192003,
|
||||
'Liocranidae sp':184367,
|
||||
'Micaria sp':194695,
|
||||
'Salticidae sp':184381,
|
||||
'Agroeca sp':188904,
|
||||
'Lycosidae sp':184368,
|
||||
'Zora cf spinimana':1753, # doute
|
||||
'Marpissa sp':194474,
|
||||
'Alopecosa sp':188992,
|
||||
# 'Amphinema diadema':, # Contact fournisseur données : RIVOIRE Bernard
|
||||
'Hyphodermella rosae':905273,
|
||||
'Cartilosoma rene-hentic':905220,
|
||||
# 'Phanerochaete livescens':, # Appeler CBNA / RIVOIRE Bernard
|
||||
# 'Thanatephorus brevisporus':, # Contact fournisseur données : RIVOIRE Bernard
|
||||
'Phlebia acerina':970280 }
|
||||
|
||||
|
||||
sql = """
|
||||
select id_obs,remarque_obs FROM saisie.saisie_observation WHERE cd_nom in ('9999077','9999078')
|
||||
and remarque_obs not ilike '%%Amphinema diadema%%'
|
||||
and remarque_obs not ilike '%%Phanerochaete livescens%%'
|
||||
and remarque_obs not ilike '%%Thanatephorus brevisporus%%'
|
||||
"""
|
||||
df = pd.read_sql(sql, con_sicen)
|
||||
|
||||
df['cd_nom'] = (df['remarque_obs']
|
||||
.str.split('|',n=1)
|
||||
.str[0]
|
||||
.str.replace('Nom taxon saisi :','')
|
||||
.str.strip()
|
||||
.replace(dict_tax)
|
||||
)
|
||||
|
||||
sql = 'SELECT cd_nom,regne,nom_vern,phylum,famille,classe,ordre,nom_complet,nom_valide FROM taxonomie.taxref WHERE cd_nom IN {}'
|
||||
tax = pd.read_sql(sql.format(tuple(df['cd_nom'].unique())), con_gn)
|
||||
|
||||
df = (df.merge(tax,how='left',on='cd_nom')
|
||||
.drop(columns=['remarque_obs'])
|
||||
.astype({'cd_nom':str}))
|
||||
|
||||
update_to_sql(
|
||||
df,
|
||||
con_sicen,
|
||||
'saisie_observation',
|
||||
'saisie','id_obs')
|
||||
|
||||
|
||||
############################
|
||||
######## Myotis sp. ########
|
||||
############################
|
||||
|
||||
dict_tax = {'9999058':195005}
|
||||
sql = """
|
||||
select id_obs,cd_nom FROM saisie.saisie_observation WHERE cd_nom = '9999058'
|
||||
"""
|
||||
df = pd.read_sql(sql, con_sicen)
|
||||
df.replace({'cd_nom':dict_tax},inplace=True)
|
||||
|
||||
sql = 'SELECT cd_nom,regne,nom_vern,phylum,famille,classe,ordre,nom_complet,nom_valide FROM taxonomie.taxref WHERE cd_nom = %i'
|
||||
tax = pd.read_sql(sql%df['cd_nom'].unique()[0], con_gn)
|
||||
|
||||
df = (df.merge(tax,how='left',on='cd_nom')
|
||||
.astype({'cd_nom':str}))
|
||||
update_to_sql(
|
||||
df,
|
||||
con_sicen,
|
||||
'saisie_observation',
|
||||
'saisie','id_obs')
|
||||
Loading…
x
Reference in New Issue
Block a user