pyspc.data.meteofrance.BP_Data

class pyspc.data.meteofrance.BP_Data(filename=None)[source]

Bases : object

Structure de données destinée à traiter les BP au format xml.

filename

Nom du fichier

Type:

str

__init__(filename=None)[source]

Initialisation de l’instance de la classe BP_Data.

Paramètres:

filename (str) – Nom du fichier

Methods

__init__([filename])

Initialisation de l'instance de la classe BP_Data.

read()

Lecture du BP au format XML.

read()[source]

Lecture du BP au format XML.

Renvoie:

Dictionnaire des informations
  • alerts : dictionnaire des alertes {zone: (début, fin)}

  • obs : pandas.DataFrame des valeurs observées

  • prv : pandas.DataFrame des valeurs prévues

Type renvoyé:

dict

Exemples

>>> from datetime import datetime as dt
>>> from pyspc.data.meteofrance import BP_Data

Cas du fichier XML - version 2008

>>> f = 'data/data/mf/bp_ly_200811010718.xml'
>>> bp = BP_Data(filename=f)
>>> content = bp.read()
>>> content['alert']
{'401': (None, None),
 '402': (dt(2008, 11, 1, 6, 3, 39), dt(2008, 11, 1, 23, 0)),
 '403': (dt(2008, 11, 1, 6, 3, 39), dt(2008, 11, 1, 23, 0)),
 '410': (dt(2008, 11, 1, 6, 3, 39), dt(2008, 11, 1, 23, 0)),
 '411': (dt(2008, 11, 1, 6, 3, 39), dt(2008, 11, 1, 23, 0)),
 '412': (dt(2008, 11, 1, 6, 3, 39), dt(2008, 11, 1, 23, 0)),
 '413': (dt(2008, 11, 1, 6, 3, 39), dt(2008, 11, 1, 23, 0)),
 '414': (dt(2008, 11, 1, 6, 3, 39), dt(2008, 11, 1, 23, 0)),
 '415': (dt(2008, 11, 1, 6, 3, 39), dt(2008, 11, 1, 23, 0)),
 '420': (None, None), '421': (None, None), '422': (None, None),
 '423': (None, None), '424': (None, None), '425': (None, None),
 '426': (None, None), '430': (None, None), '431': (None, None),
 '432': (None, None), '433': (None, None), '440': (None, None),
 '441': (None, None), '442': (None, None), '443': (None, None)}
>>> content['obs']
            DATE DEBUT  MAXRR  AVGRR CODE              DTPROD                  NAME PROVIDER
0  2008-10-31 06:00:00    NaN    NaN  401 2008-11-01 06:03:39          Loire Morvan    DIRCE
1  2008-10-31 06:00:00    NaN    NaN  402 2008-11-01 06:03:39           Loire amont    DIRCE
2  2008-10-31 06:00:00    NaN    NaN  403 2008-11-01 06:03:39     Haut bassin Loire    DIRCE
3  2008-10-31 06:00:00    NaN    NaN  410 2008-11-01 06:03:39           Allier aval    DIRCE
4  2008-10-31 06:00:00    NaN    NaN  411 2008-11-01 06:03:39                Sioule    DIRCE
5  2008-10-31 06:00:00    NaN    NaN  412 2008-11-01 06:03:39                  Dore    DIRCE
6  2008-10-31 06:00:00    NaN    NaN  413 2008-11-01 06:03:39          Allier amont    DIRCE
7  2008-10-31 06:00:00    NaN    NaN  414 2008-11-01 06:03:39  Allier intermediaire    DIRCE
8  2008-10-31 06:00:00    NaN    NaN  415 2008-11-01 06:03:39               Alagnon    DIRCE
9  2008-10-31 06:00:00    NaN    NaN  420 2008-11-01 06:03:39         Saone moyenne    DIRCE
10 2008-10-31 06:00:00    NaN    NaN  421 2008-11-01 06:03:39      Saone inferieure    DIRCE
11 2008-10-31 06:00:00    NaN    NaN  422 2008-11-01 06:03:39                Seille    DIRCE
12 2008-10-31 06:00:00    NaN    NaN  423 2008-11-01 06:03:39         Ain inferieur    DIRCE
13 2008-10-31 06:00:00    NaN    NaN  424 2008-11-01 06:03:39     Gier bas Dauphine    DIRCE
14 2008-10-31 06:00:00    NaN    NaN  425 2008-11-01 06:03:39       Rhone superieur    DIRCE
15 2008-10-31 06:00:00    NaN    NaN  426 2008-11-01 06:03:39        Rhone prealpin    DIRCE
16 2008-10-31 06:00:00    NaN    NaN  430 2008-11-01 06:03:39            Isere aval    DIRCE
17 2008-10-31 06:00:00    NaN    NaN  431 2008-11-01 06:03:39         Drac Romanche    DIRCE
18 2008-10-31 06:00:00    NaN    NaN  432 2008-11-01 06:03:39    Arly Isere moyenne    DIRCE
19 2008-10-31 06:00:00    NaN    NaN  433 2008-11-01 06:03:39       Haute Isere Arc    DIRCE
20 2008-10-31 06:00:00    NaN    NaN  440 2008-11-01 06:03:39            Yonne aval    DIRCE
21 2008-10-31 06:00:00    NaN    NaN  441 2008-11-01 06:03:39   Yonne intermediaire    DIRCE
22 2008-10-31 06:00:00    NaN    NaN  442 2008-11-01 06:03:39          Yonne-Morvan    DIRCE
23 2008-10-31 06:00:00    NaN    NaN  443 2008-11-01 06:03:39          Yonne-Auxois    DIRCE
>>> content['prv']
            DATE DEBUT  MAXRR  AVGRR CODE                  NAME              DTPROD PROVIDER
0  2008-11-01 06:00:00         10/20  401          Loire Morvan 2008-11-01 06:03:39    DIRCE
1  2008-11-02 06:00:00           1/5  401          Loire Morvan 2008-11-01 06:03:39    DIRCE
2  2008-11-03 06:00:00             0  401          Loire Morvan 2008-11-01 06:03:39    DIRCE
3  2008-11-01 06:00:00  50/80  20/40  402           Loire amont 2008-11-01 06:03:39    DIRCE
4  2008-11-02 06:00:00          3/10  402           Loire amont 2008-11-01 06:03:39    DIRCE
5  2008-11-03 06:00:00             0  402           Loire amont 2008-11-01 06:03:39    DIRCE
6  2008-11-01 06:00:00  50/80  30/50  403     Haut bassin Loire 2008-11-01 06:03:39    DIRCE
7  2008-11-02 06:00:00         10/20  403     Haut bassin Loire 2008-11-01 06:03:39    DIRCE
8  2008-11-03 06:00:00          Tr/3  403     Haut bassin Loire 2008-11-01 06:03:39    DIRCE
9  2008-11-01 06:00:00  40/60  10/20  410           Allier aval 2008-11-01 06:03:39    DIRCE
10 2008-11-02 06:00:00           1/5  410           Allier aval 2008-11-01 06:03:39    DIRCE
11 2008-11-03 06:00:00             0  410           Allier aval 2008-11-01 06:03:39    DIRCE
12 2008-11-01 06:00:00  40/60  10/20  411                Sioule 2008-11-01 06:03:39    DIRCE
13 2008-11-02 06:00:00          7/15  411                Sioule 2008-11-01 06:03:39    DIRCE
14 2008-11-03 06:00:00             0  411                Sioule 2008-11-01 06:03:39    DIRCE
15 2008-11-01 06:00:00  50/80  40/60  412                  Dore 2008-11-01 06:03:39    DIRCE
16 2008-11-02 06:00:00          3/10  412                  Dore 2008-11-01 06:03:39    DIRCE
17 2008-11-03 06:00:00             0  412                  Dore 2008-11-01 06:03:39    DIRCE
18 2008-11-01 06:00:00  50/80  30/50  413          Allier amont 2008-11-01 06:03:39    DIRCE
19 2008-11-02 06:00:00         15/30  413          Allier amont 2008-11-01 06:03:39    DIRCE
20 2008-11-03 06:00:00          Tr/3  413          Allier amont 2008-11-01 06:03:39    DIRCE
21 2008-11-01 06:00:00  40/60  30/50  414  Allier intermediaire 2008-11-01 06:03:39    DIRCE
22 2008-11-02 06:00:00          7/15  414  Allier intermediaire 2008-11-01 06:03:39    DIRCE
23 2008-11-03 06:00:00             0  414  Allier intermediaire 2008-11-01 06:03:39    DIRCE
24 2008-11-01 06:00:00  50/80  30/50  415               Alagnon 2008-11-01 06:03:39    DIRCE
25 2008-11-02 06:00:00         10/20  415               Alagnon 2008-11-01 06:03:39    DIRCE
26 2008-11-03 06:00:00          Tr/3  415               Alagnon 2008-11-01 06:03:39    DIRCE
27 2008-11-01 06:00:00          7/15  420         Saone moyenne 2008-11-01 06:03:39    DIRCE
28 2008-11-02 06:00:00          Tr/3  420         Saone moyenne 2008-11-01 06:03:39    DIRCE
29 2008-11-03 06:00:00          Tr/3  420         Saone moyenne 2008-11-01 06:03:39    DIRCE
..                 ...    ...    ...  ...                   ...                 ...      ...
42 2008-11-01 06:00:00          Tr/3  425       Rhone superieur 2008-11-01 06:03:39    DIRCE
43 2008-11-02 06:00:00          3/10  425       Rhone superieur 2008-11-01 06:03:39    DIRCE
44 2008-11-03 06:00:00          Tr/3  425       Rhone superieur 2008-11-01 06:03:39    DIRCE
45 2008-11-01 06:00:00          Tr/3  426        Rhone prealpin 2008-11-01 06:03:39    DIRCE
46 2008-11-02 06:00:00           1/5  426        Rhone prealpin 2008-11-01 06:03:39    DIRCE
47 2008-11-03 06:00:00          Tr/3  426        Rhone prealpin 2008-11-01 06:03:39    DIRCE
48 2008-11-01 06:00:00           1/5  430            Isere aval 2008-11-01 06:03:39    DIRCE
49 2008-11-02 06:00:00          7/15  430            Isere aval 2008-11-01 06:03:39    DIRCE
50 2008-11-03 06:00:00          Tr/3  430            Isere aval 2008-11-01 06:03:39    DIRCE
51 2008-11-01 06:00:00          Tr/3  431         Drac Romanche 2008-11-01 06:03:39    DIRCE
52 2008-11-02 06:00:00          3/10  431         Drac Romanche 2008-11-01 06:03:39    DIRCE
53 2008-11-03 06:00:00          Tr/3  431         Drac Romanche 2008-11-01 06:03:39    DIRCE
54 2008-11-01 06:00:00             0  432    Arly Isere moyenne 2008-11-01 06:03:39    DIRCE
55 2008-11-02 06:00:00           1/5  432    Arly Isere moyenne 2008-11-01 06:03:39    DIRCE
56 2008-11-03 06:00:00          Tr/3  432    Arly Isere moyenne 2008-11-01 06:03:39    DIRCE
57 2008-11-01 06:00:00          Tr/3  433       Haute Isere Arc 2008-11-01 06:03:39    DIRCE
58 2008-11-02 06:00:00          7/15  433       Haute Isere Arc 2008-11-01 06:03:39    DIRCE
59 2008-11-03 06:00:00          Tr/3  433       Haute Isere Arc 2008-11-01 06:03:39    DIRCE
60 2008-11-01 06:00:00          3/10  440            Yonne aval 2008-11-01 06:03:39    DIRCE
61 2008-11-02 06:00:00          Tr/3  440            Yonne aval 2008-11-01 06:03:39    DIRCE
62 2008-11-03 06:00:00             0  440            Yonne aval 2008-11-01 06:03:39    DIRCE
63 2008-11-01 06:00:00          3/10  441   Yonne intermediaire 2008-11-01 06:03:39    DIRCE
64 2008-11-02 06:00:00          Tr/3  441   Yonne intermediaire 2008-11-01 06:03:39    DIRCE
65 2008-11-03 06:00:00          Tr/3  441   Yonne intermediaire 2008-11-01 06:03:39    DIRCE
66 2008-11-01 06:00:00          7/15  442          Yonne-Morvan 2008-11-01 06:03:39    DIRCE
67 2008-11-02 06:00:00          Tr/3  442          Yonne-Morvan 2008-11-01 06:03:39    DIRCE
68 2008-11-03 06:00:00          Tr/3  442          Yonne-Morvan 2008-11-01 06:03:39    DIRCE
69 2008-11-01 06:00:00         10/20  443          Yonne-Auxois 2008-11-01 06:03:39    DIRCE
70 2008-11-02 06:00:00          Tr/3  443          Yonne-Auxois 2008-11-01 06:03:39    DIRCE
71 2008-11-03 06:00:00          Tr/3  443          Yonne-Auxois 2008-11-01 06:03:39    DIRCE

Cas du fichier XML - version actuelle

>>> f = 'data/data/mf/bp_ic_201605310503.xml'
>>> bp = BP_Data(filename=f)
>>> content = bp.read()
>>> content['alerts']
{'70701': (dt(2016, 5, 31, 5, 2, 5), dt(2016, 5, 31, 14, 0)),
 '70702': (dt(2016, 5, 31, 5, 2, 5), dt(2016, 5, 31, 14, 0)),
 '70703': (dt(2016, 5, 31, 5, 2, 5), dt(2016, 5, 31, 14, 0)),
 '70704': (dt(2016, 5, 31, 5, 2, 5), dt(2016, 5, 31, 14, 0)),
 '70705': (dt(2016, 5, 31, 5, 2, 5), dt(2016, 5, 31, 14, 0)),
 '70708': (dt(2016, 5, 31, 5, 2, 5), dt(2016, 5, 31, 14, 0)),
 '70707': (dt(2016, 5, 31, 5, 2, 5), dt(2016, 5, 31, 14, 0)),
 '70402': (dt(2016, 5, 31, 5, 2, 5), dt(2016, 5, 31, 14, 0)),
 '70403': (dt(2016, 5, 31, 5, 2, 5), dt(2016, 5, 31, 14, 0)),
 '70901': (dt(2016, 5, 31, 5, 2, 5), dt(2016, 5, 31, 14, 0)),
 '71002': (dt(2016, 5, 31, 5, 2, 5), dt(2016, 5, 31, 14, 0)),
 '71003': (dt(2016, 5, 31, 5, 2, 5), dt(2016, 5, 31, 14, 0)),
 '71004': (dt(2016, 5, 31, 5, 2, 5), dt(2016, 5, 31, 14, 0)),
 '71005': (dt(2016, 5, 31, 5, 2, 5), dt(2016, 5, 31, 14, 0)),
 '71006': (dt(2016, 5, 31, 5, 2, 5), dt(2016, 5, 31, 14, 0)),
 '71007': (dt(2016, 5, 31, 5, 2, 5), dt(2016, 5, 31, 14, 0))}
>>> content['obs']
   DATE DEBUT  MAXRR  AVGRR   CODE              DTPROD                      NAME PROVIDER
0  2016-05-30    NaN   34.0  70701 2016-05-31 05:02:05          Boucles de Seine    DIRIC
1  2016-05-30    NaN   30.0  70702 2016-05-31 05:02:05                 Oise aval    DIRIC
2  2016-05-30    NaN   28.0  70703 2016-05-31 05:02:05                Marne aval    DIRIC
3  2016-05-30    NaN   31.0  70704 2016-05-31 05:02:05                Les Morins    DIRIC
4  2016-05-30    NaN   41.0  70705 2016-05-31 05:02:05             Seine moyenne    DIRIC
5  2016-05-30    NaN   53.0  70708 2016-05-31 05:02:05                Loing aval    DIRIC
6  2016-05-30    NaN   50.0  70707 2016-05-31 05:02:05               Loing amont    DIRIC
7  2016-05-30    NaN   21.0  70402 2016-05-31 05:02:05           Avre Eure amont    DIRIC
8  2016-05-30    NaN    9.0  70403 2016-05-31 05:02:05                    Perche    DIRIC
9  2016-05-30    NaN   21.0  70901 2016-05-31 05:02:05                Loir amont    DIRIC
10 2016-05-30    NaN   20.0  71002 2016-05-31 05:02:05      Cher aval Indre aval    DIRIC
11 2016-05-30    NaN   33.0  71003 2016-05-31 05:02:05         Loire Tourangelle    DIRIC
12 2016-05-30    NaN   30.0  71004 2016-05-31 05:02:05           Loire Giennoise    DIRIC
13 2016-05-30    NaN   35.0  71005 2016-05-31 05:02:05                   Sauldre    DIRIC
14 2016-05-30    NaN   26.0  71006 2016-05-31 05:02:05          Yevre Cher moyen    DIRIC
15 2016-05-30    NaN   22.0  71007 2016-05-31 05:02:05  Indre amont Arnon Theols    DIRIC
>>> content['prv']
   DATE DEBUT MAXRR  AVGRR   CODE                      NAME              DTPROD PROVIDER
0  2016-05-31        15/30  70701          Boucles de Seine 2016-05-31 05:02:05    DIRIC
1  2016-06-01         Tr/3  70701          Boucles de Seine 2016-05-31 05:02:05    DIRIC
2  2016-06-02         7/15  70701          Boucles de Seine 2016-05-31 05:02:05    DIRIC
3  2016-05-31        15/30  70702                 Oise aval 2016-05-31 05:02:05    DIRIC
4  2016-06-01         Tr/3  70702                 Oise aval 2016-05-31 05:02:05    DIRIC
5  2016-06-02         7/15  70702                 Oise aval 2016-05-31 05:02:05    DIRIC
6  2016-05-31        10/20  70703                Marne aval 2016-05-31 05:02:05    DIRIC
7  2016-06-01         Tr/3  70703                Marne aval 2016-05-31 05:02:05    DIRIC
8  2016-06-02        10/20  70703                Marne aval 2016-05-31 05:02:05    DIRIC
9  2016-05-31        15/30  70704                Les Morins 2016-05-31 05:02:05    DIRIC
10 2016-06-01         Tr/3  70704                Les Morins 2016-05-31 05:02:05    DIRIC
11 2016-06-02        10/20  70704                Les Morins 2016-05-31 05:02:05    DIRIC
12 2016-05-31        15/30  70705             Seine moyenne 2016-05-31 05:02:05    DIRIC
13 2016-06-01         Tr/3  70705             Seine moyenne 2016-05-31 05:02:05    DIRIC
14 2016-06-02         7/15  70705             Seine moyenne 2016-05-31 05:02:05    DIRIC
15 2016-05-31        15/30  70708                Loing aval 2016-05-31 05:02:05    DIRIC
16 2016-06-01          1/5  70708                Loing aval 2016-05-31 05:02:05    DIRIC
17 2016-06-02        10/20  70708                Loing aval 2016-05-31 05:02:05    DIRIC
18 2016-05-31        15/30  70707               Loing amont 2016-05-31 05:02:05    DIRIC
19 2016-06-01          1/5  70707               Loing amont 2016-05-31 05:02:05    DIRIC
20 2016-06-02         7/15  70707               Loing amont 2016-05-31 05:02:05    DIRIC
21 2016-05-31        15/30  70402           Avre Eure amont 2016-05-31 05:02:05    DIRIC
22 2016-06-01         Tr/3  70402           Avre Eure amont 2016-05-31 05:02:05    DIRIC
23 2016-06-02         7/15  70402           Avre Eure amont 2016-05-31 05:02:05    DIRIC
24 2016-05-31        15/30  70403                    Perche 2016-05-31 05:02:05    DIRIC
25 2016-06-01         Tr/3  70403                    Perche 2016-05-31 05:02:05    DIRIC
26 2016-06-02          1/5  70403                    Perche 2016-05-31 05:02:05    DIRIC
27 2016-05-31        20/40  70901                Loir amont 2016-05-31 05:02:05    DIRIC
28 2016-06-01          1/5  70901                Loir amont 2016-05-31 05:02:05    DIRIC
29 2016-06-02         3/10  70901                Loir amont 2016-05-31 05:02:05    DIRIC
30 2016-05-31        20/40  71002      Cher aval Indre aval 2016-05-31 05:02:05    DIRIC
31 2016-06-01          1/5  71002      Cher aval Indre aval 2016-05-31 05:02:05    DIRIC
32 2016-06-02         3/10  71002      Cher aval Indre aval 2016-05-31 05:02:05    DIRIC
33 2016-05-31        20/40  71003         Loire Tourangelle 2016-05-31 05:02:05    DIRIC
34 2016-06-01          1/5  71003         Loire Tourangelle 2016-05-31 05:02:05    DIRIC
35 2016-06-02         3/10  71003         Loire Tourangelle 2016-05-31 05:02:05    DIRIC
36 2016-05-31        15/30  71004           Loire Giennoise 2016-05-31 05:02:05    DIRIC
37 2016-06-01          1/5  71004           Loire Giennoise 2016-05-31 05:02:05    DIRIC
38 2016-06-02         3/10  71004           Loire Giennoise 2016-05-31 05:02:05    DIRIC
39 2016-05-31        15/30  71005                   Sauldre 2016-05-31 05:02:05    DIRIC
40 2016-06-01          1/5  71005                   Sauldre 2016-05-31 05:02:05    DIRIC
41 2016-06-02         3/10  71005                   Sauldre 2016-05-31 05:02:05    DIRIC
42 2016-05-31        15/30  71006          Yevre Cher moyen 2016-05-31 05:02:05    DIRIC
43 2016-06-01          1/5  71006          Yevre Cher moyen 2016-05-31 05:02:05    DIRIC
44 2016-06-02         3/10  71006          Yevre Cher moyen 2016-05-31 05:02:05    DIRIC
45 2016-05-31        15/30  71007  Indre amont Arnon Theols 2016-05-31 05:02:05    DIRIC
46 2016-06-01          1/5  71007  Indre amont Arnon Theols 2016-05-31 05:02:05    DIRIC
47 2016-06-02          1/5  71007  Indre amont Arnon Theols 2016-05-31 05:02:05    DIRIC