pyspc.data.prevision.prevision17.Prevision17

class pyspc.data.prevision.prevision17.Prevision17(filename=None)[source]

Bases : Mdb

Classe destinée à traiter la base Prévision du SPC LCI, période 2017-2019

filename

Chemin de la base de données

Type:

str

sql

Requête courante au format SQL

Type:

str

__init__(filename=None)[source]

Initialisation de l’instance Prevision17

Paramètres:

filename (str) – Chemin de la base de données

Methods

__init__([filename])

Initialisation de l'instance Prevision17

check_sql_return([content, warning])

Contrôler le retour de la requête SQL.

close()

Fermer la connexion à la base de données et le curseur <dbase>.

commit()

Commiter/accepter les enregistrements ajoutés.

connect()

Créer la connexion à la base de données et le curseur pyodbc.

execute([warning])

Exécution de la requête SQL.

from_datetime([dtime, fmt, tolerance])

Convertir un <string> ou un <datetime> au format accepté par Access.

get_datatypes()

Type de données des bases Prevision 2017

read_fcst([codes, valid, released, ...])

Récupération des prévisions de la base Prevision17

read_fcst_hydro3([codes, valid, released, ...])

Récupération des prévisions de la base Prevision17.

read_serie_hydro3([codes, first_dt, ...])

Récupération des identifiants des séries de la base Prevision17.

rollback()

Annuler les enregistrements ajoutés.

check_sql_return(content=None, warning=False)

Contrôler le retour de la requête SQL.

close()

Fermer la connexion à la base de données et le curseur <dbase>.

commit()

Commiter/accepter les enregistrements ajoutés.

connect()

Créer la connexion à la base de données et le curseur pyodbc.

Avertissement

Cette méthode nécessite l’import de la bibliothèque tierce pyodbc

execute(warning=True)

Exécution de la requête SQL.

Paramètres:

warning (bool) – Afficher les avertissements. Par défaut: True

Renvoie:

  • list or None – Eléments retenus par la requête SQL

  • .. warning:: Cette méthode nécessite l’import de la – bibliothèque tierce pyodbc

static from_datetime(dtime=None, fmt=None, tolerance=0)

Convertir un <string> ou un <datetime> au format accepté par Access.

  • Convertir les dates du format “str” au format “datetime.datetime”

  • Convertir en réel: mode de stockage des dates dans Access
    • Il faut ajouter 1 jour lors du calcul du flottant car 366j en 1900 (Access) et 365j en 1900 (datetime.datetime)

    • Il faut enlever/ajouter 60 sec. (tolerance) dans le calcul du flottant pour contrer le pb de précision numérique SQL/ACCESS

Paramètres:
  • dtime (datetime ou str) – Date à convertir

  • fmt (str) – Format de la date, si définie comme un str

  • tolerance (int) – Tolérance en secondes. Par défaut: 0

Renvoie:

Valeur réelle correspondant à la date et à la tolérance

Type renvoyé:

float

classmethod get_datatypes()[source]

Type de données des bases Prevision 2017

Renvoie:

Type de données des bases Prevision 2017

Type renvoyé:

list

read_fcst(codes=None, valid=False, released=False, hydro_version='hydro3', first_dt=None, last_dt=None, warning=True)[source]

Récupération des prévisions de la base Prevision17

Paramètres:
  • codes (list) – Liste des identifiants des stations

  • valid (bool) – Prévision expertisée (True). Défaut: False

  • released (bool) – Prévision diffusée (True). Défaut: False

  • hydro_version (str) – Référentiel : “hydro2” ou “hydro3”

  • first_dt (datetime) – Premier pas de temps des données

  • last_dt (datetime) – Dernier pas de temps des données

  • warning (bool) – Afficher les avertissements ? défaut: True

Renvoie:

Tableau des données

Type renvoyé:

pnd.DataFrame

Voir aussi

pyspc.data.prevision.Prevision17.get_fcst_hydro3

read_fcst_hydro3(codes=None, valid=False, released=False, first_dt=None, last_dt=None, warning=True)[source]

Récupération des prévisions de la base Prevision17.

Paramètres:
  • codes (list) – Liste des identifiants des stations

  • valid (bool) – Prévision expertisée (True). Défaut: False

  • released (bool) – Prévision diffusée (True). Défaut: False

  • first_dt (datetime) – Premier pas de temps des données

  • last_dt (datetime) – Dernier pas de temps des données

  • warning (bool) – Afficher les avertissements ? défaut: True

Renvoie:

Tableau des données

Type renvoyé:

pnd.DataFrame

Exemples

>>> from datetime import datetime as dt
>>> from pyspc.data.prevision import Prevision17
>>> f = 'data/io/dbase/prevision_2017.mdb'
>>> reader = Prevision17(filename=f)

Exemple de prévision validée

>>> content = reader.read_fcst(
...     codes=['K0403010'],
...     first_dt=dt(2016, 11, 21, 12),
...     last_dt=dt(2016, 11, 21, 12),
...     valid=True,
...     released=True
... )
>>> content
                               K0403010  ...
                    2016-11-21 12:00:00  ...
                                   2003  ...
                                 pilote  ...
                                      1  ...
                                    Val  ... Val90conv
DateVal                                  ...
2016-11-21 14:00:00            5.337000  ...  0.489486
2016-11-21 15:00:00            5.512000  ...  0.511436
2016-11-21 16:00:00            5.458000  ...  0.526863
2016-11-21 17:00:00            5.307000  ...  0.538143
2016-11-21 18:00:00            5.103000  ...  0.546724
2016-11-21 19:00:00            5.214000  ...  0.571114
2016-11-21 20:00:00            5.599000  ...  0.619568
2016-11-21 21:00:00            6.171000  ...  0.689225
2016-11-21 22:00:00            7.422000  ...  0.797537
2016-11-21 23:00:00            9.638000  ...  0.960593
2016-11-22 00:00:00           12.877000  ...  1.179920
2016-11-22 01:00:00           16.025000  ...  1.381224
2016-11-22 02:00:00           18.378000  ...  1.533681
2016-11-22 03:00:00           19.707001  ...  1.615447
2016-11-22 04:00:00           20.676001  ...  1.685737
2016-11-22 05:00:00           21.527000  ...  1.753344
2016-11-22 06:00:00           22.257999  ...  1.818271
2016-11-22 07:00:00           24.580000  ...  1.928249
2016-11-22 08:00:00           29.033001  ...  2.119796
2016-11-22 09:00:00           35.544998  ...  2.378982
2016-11-22 10:00:00           42.487999  ...  2.640653
2016-11-22 11:00:00           49.056000  ...  2.880322
2016-11-22 12:00:00           55.080002  ...  3.096919
2016-11-22 13:00:00           58.733002  ...  3.219622
2016-11-22 14:00:00           58.667999  ...  3.229056
2016-11-22 15:00:00           55.799000  ...  3.152230
2016-11-22 16:00:00           51.264999  ...  3.019641
2016-11-22 17:00:00           45.583000  ...  2.842086
2016-11-22 18:00:00           39.361000  ...  2.634085
2016-11-22 19:00:00           34.172001  ...  2.442746
...                                 ...  ...       ...
2016-11-23 08:00:00            9.410000  ...  1.242212
2016-11-23 09:00:00            8.764000  ...  1.193289
2016-11-23 10:00:00            8.184000  ...  1.148385
2016-11-23 11:00:00            7.661000  ...  1.107038
2016-11-23 12:00:00            7.190000  ...  1.068896
2016-11-23 13:00:00            6.765000  ...  1.033426
2016-11-23 14:00:00            6.379000  ...  1.000886
2016-11-23 15:00:00            6.027000  ...  0.970794
2016-11-23 16:00:00            5.704000  ...  0.942849
2016-11-23 17:00:00            5.407000  ...  0.916812
2016-11-23 18:00:00            5.134000  ...  0.892577
2016-11-23 19:00:00            4.887000  ...  0.869784
2016-11-23 20:00:00            4.658000  ...  0.848397
2016-11-23 21:00:00            4.446000  ...  0.828371
2016-11-23 22:00:00            4.250000  ...  0.809792
2016-11-23 23:00:00            4.068000  ...  0.792524
2016-11-24 00:00:00            3.897000  ...  0.776336
2016-11-24 01:00:00            3.744000  ...  0.762966
2016-11-24 02:00:00            3.609000  ...  0.751447
2016-11-24 03:00:00            3.483000  ...  0.740582
2016-11-24 04:00:00            3.365000  ...  0.730292
2016-11-24 05:00:00            3.253000  ...  0.720438
2016-11-24 06:00:00            3.148000  ...  0.711030
2016-11-24 07:00:00            3.056000  ...  0.702234
2016-11-24 08:00:00            2.970000  ...  0.694036
2016-11-24 09:00:00            2.891000  ...  0.686579
2016-11-24 10:00:00            2.816000  ...  0.679495
2016-11-24 11:00:00            2.745000  ...  0.672769
2016-11-24 12:00:00            2.677000  ...  0.666299
2016-11-24 13:00:00            2.616000  ...  0.659047

Exemple de prévision brute

>>> content = reader.read_fcst(
...     codes=['K0403010'],
...     first_dt=dt(2016, 11, 21, 12),
...     last_dt=dt(2016, 11, 21, 12),
...     valid=False,
...     released=False
... )
>>> content
                               K0403010 ...
                    2016-11-21 12:00:00 ...
                                   2001 ...      2009
                                    Val ... Val90conv
DateVal                                 ...
2016-11-21 14:00:00            5.301000 ...  0.490555
2016-11-21 15:00:00            5.391000 ...  0.515114
2016-11-21 16:00:00            5.240000 ...  0.534334
2016-11-21 17:00:00            5.018000 ...  0.549011
2016-11-21 18:00:00            4.779000 ...  0.560499
2016-11-21 19:00:00            4.753000 ...  0.591624
2016-11-21 20:00:00            4.898000 ...  0.652424
2016-11-21 21:00:00            5.152000 ...  0.740339
2016-11-21 22:00:00            5.676000 ...  0.878463
2016-11-21 23:00:00            6.571000 ...  1.090107
2016-11-22 00:00:00            7.992000 ...  1.375605
2016-11-22 01:00:00            9.519000 ...  1.608265
2016-11-22 02:00:00           10.753000 ...  1.739104
2016-11-22 03:00:00           11.653000 ...  1.801832
2016-11-22 04:00:00           12.417000 ...  1.845703
2016-11-22 05:00:00           12.939000 ...  1.888197
2016-11-22 06:00:00           13.574000 ...  1.929369
2016-11-22 07:00:00           15.139000 ...  2.011298
2016-11-22 08:00:00           17.966999 ...  2.168612
2016-11-22 09:00:00           22.056000 ...  2.387600
2016-11-22 10:00:00           26.490999 ...  2.608593
2016-11-22 11:00:00           30.813000 ...  2.810109
2016-11-22 12:00:00           34.910999 ...  2.991875
2016-11-22 13:00:00           37.716999 ...  3.091040
2016-11-22 14:00:00           38.320000 ...  3.090423
2016-11-22 15:00:00           37.151001 ...  3.013842
2016-11-22 16:00:00           34.826000 ...  2.888248
2016-11-22 17:00:00           31.632000 ...  2.723027
2016-11-22 18:00:00           27.943001 ...  2.530869
2016-11-22 19:00:00           24.782000 ...  2.353826
...                                 ... ...       ...
2016-11-23 08:00:00            7.914000 ...  1.217304
2016-11-23 09:00:00            7.414000 ...  1.170411
2016-11-23 10:00:00            6.961000 ...  1.127340
2016-11-23 11:00:00            6.550000 ...  1.087598
2016-11-23 12:00:00            6.178000 ...  1.050925
2016-11-23 13:00:00            5.839000 ...  1.016824
2016-11-23 14:00:00            5.528000 ...  0.985592
2016-11-23 15:00:00            5.242000 ...  0.956564
2016-11-23 16:00:00            4.979000 ...  0.929556
2016-11-23 17:00:00            4.736000 ...  0.904402
2016-11-23 18:00:00            4.510000 ...  0.881127
2016-11-23 19:00:00            4.306000 ...  0.859018
2016-11-23 20:00:00            4.116000 ...  0.838292
2016-11-23 21:00:00            3.940000 ...  0.818897
2016-11-23 22:00:00            3.781000 ...  0.801056
2016-11-23 23:00:00            3.644000 ...  0.784292
2016-11-24 00:00:00            3.516000 ...  0.768602
2016-11-24 01:00:00            3.394000 ...  0.756737
2016-11-24 02:00:00            3.280000 ...  0.745581
2016-11-24 03:00:00            3.171000 ...  0.735027
2016-11-24 04:00:00            3.069000 ...  0.724997
2016-11-24 05:00:00            2.973000 ...  0.715378
2016-11-24 06:00:00            2.883000 ...  0.706276
2016-11-24 07:00:00            2.806000 ...  0.697734
2016-11-24 08:00:00            2.733000 ...  0.689927
2016-11-24 09:00:00            2.664000 ...  0.682656
2016-11-24 10:00:00            2.602000 ...  0.675762
2016-11-24 11:00:00            2.543000 ...  0.669222
2016-11-24 12:00:00            2.488000 ...  0.662596
2016-11-24 13:00:00            2.435000 ...  0.655113
read_serie_hydro3(codes=None, first_dt=None, last_dt=None, valid=False, released=False, warning=True)[source]

Récupération des identifiants des séries de la base Prevision17.

Paramètres:
  • codes (list) – Liste des identifiants des stations

  • valid (bool) – Prévision expertisée (True). Défaut: False

  • released (bool) – Prévision diffusée (True). Défaut: False

  • first_dt (datetime) – Premier pas de temps des données

  • last_dt (datetime) – Dernier pas de temps des données

  • warning (bool) – Afficher les avertissements ? défaut: True

Renvoie:

  • dict – Dictionnaire des identifiants des séries - clé : (« CodeStation », « CodeModele », « DateDerObs ») si brute - clé : (« CodeStation », « CodeModele », « DateDerObs »,

     »Source », « Diffuse ») si expertisée

    • valeur : identifiant de la série

  • None – si aucune série ne correspond aux paramètres

rollback()

Annuler les enregistrements ajoutés.