Commit af2ef8a4 authored by Jade Bolaty's avatar Jade Bolaty

tentative de l'exo mais ca affiche rien

parent 38b7cb81
...@@ -67,18 +67,25 @@ L'indication d'une semaine calendaire en format [[https://en.wikipedia.org/wiki/ ...@@ -67,18 +67,25 @@ L'indication d'une semaine calendaire en format [[https://en.wikipedia.org/wiki/
Après avoir téléchargé les données, nous commençons par l'extraction des données qui nous intéressent. D'abord nous découpons le contenu du fichier en lignes, dont nous jetons la première qui ne contient qu'un commentaire. Les autres lignes sont découpées en colonnes. Après avoir téléchargé les données, nous commençons par l'extraction des données qui nous intéressent. D'abord nous découpons le contenu du fichier en lignes, dont nous jetons la première qui ne contient qu'un commentaire. Les autres lignes sont découpées en colonnes.
#+BEGIN_SRC python :results silent :var data_url=data-url #+BEGIN_SRC python :results silent :var data_url=data-url
from urllib.request import urlopen from urllib.request import urlopen, urlretrieve
data = urlopen(data_url).read() try:
data = open('./data.csv', 'r').read()
except FileNotFoundError:
dataurl = urlretrieve(data_url,'./data.csv')
data = open('./data.csv', 'r').read()
lines = data.decode('latin-1').strip().split('\n') lines = data.decode('latin-1').strip().split('\n')
data_lines = lines[1:] data_lines = lines[1:]
table = [line.split(',') for line in data_lines] table = [line.split(',') for line in data_lines]
#+END_SRC #+END_SRC
Regardons ce que nous avons obtenu: Regardons ce que nous avons obtenu:
#+BEGIN_SRC python :results value #+begin_src python :results output :session :exports both
table[:5] table[:5]
#+END_SRC #+end_src
#+RESULTS:
** Recherche de données manquantes ** Recherche de données manquantes
Il y a malheureusement beaucoup de façon d'indiquer l'absence d'un point de données. Nous testons ici seulement pour la présence de champs vides. Il faudrait aussi rechercher des valeurs non-numériques dans les colonnes à priori numériques. Nous ne le faisons pas ici, mais une vérification ultérieure capterait des telles anomalies. Il y a malheureusement beaucoup de façon d'indiquer l'absence d'un point de données. Nous testons ici seulement pour la présence de champs vides. Il faudrait aussi rechercher des valeurs non-numériques dans les colonnes à priori numériques. Nous ne le faisons pas ici, mais une vérification ultérieure capterait des telles anomalies.
...@@ -94,6 +101,8 @@ for row in table: ...@@ -94,6 +101,8 @@ for row in table:
valid_table.append(row) valid_table.append(row)
#+END_SRC #+END_SRC
#+RESULTS:
** Extraction des colonnes utilisées ** Extraction des colonnes utilisées
Il y a deux colonnes qui nous intéressent: la première (~"week"~) et la troisième (~"inc"~). Nous vérifions leurs noms dans l'en-tête, que nous effaçons par la suite. Enfin, nous créons un tableau avec les deux colonnes pour le traitement suivant. Il y a deux colonnes qui nous intéressent: la première (~"week"~) et la troisième (~"inc"~). Nous vérifions leurs noms dans l'en-tête, que nous effaçons par la suite. Enfin, nous créons un tableau avec les deux colonnes pour le traitement suivant.
#+BEGIN_SRC python :results silent #+BEGIN_SRC python :results silent
...@@ -111,6 +120,8 @@ Regardons les premières et les dernières lignes. Nous insérons ~None~ pour in ...@@ -111,6 +120,8 @@ Regardons les premières et les dernières lignes. Nous insérons ~None~ pour in
[('week', 'inc'), None] + data[:5] + [None] + data[-5:] [('week', 'inc'), None] + data[:5] + [None] + data[-5:]
#+END_SRC #+END_SRC
#+RESULTS:
** Vérification ** Vérification
Il est toujours prudent de vérifier si les données semblent crédibles. Nous savons que les semaines sont données par six chiffres (quatre pour l'année et deux pour la semaine), et que les incidences sont des nombres entiers positifs. Il est toujours prudent de vérifier si les données semblent crédibles. Nous savons que les semaines sont données par six chiffres (quatre pour l'année et deux pour la semaine), et que les incidences sont des nombres entiers positifs.
#+BEGIN_SRC python :results output #+BEGIN_SRC python :results output
...@@ -121,6 +132,8 @@ for week, inc in data: ...@@ -121,6 +132,8 @@ for week, inc in data:
print("Valeur suspecte dans la colonne 'inc': ", (week, inc)) print("Valeur suspecte dans la colonne 'inc': ", (week, inc))
#+END_SRC #+END_SRC
#+RESULTS:
Pas de problème ! Pas de problème !
** Conversions ** Conversions
...@@ -140,6 +153,8 @@ str_data = [(str(date), str(inc)) for date, inc in converted_data] ...@@ -140,6 +153,8 @@ str_data = [(str(date), str(inc)) for date, inc in converted_data]
[('date', 'inc'), None] + str_data[:5] + [None] + str_data[-5:] [('date', 'inc'), None] + str_data[:5] + [None] + str_data[-5:]
#+END_SRC #+END_SRC
#+RESULTS:
** Vérification des dates ** Vérification des dates
Nous faisons encore une vérification: nos dates doivent être séparées d'exactement une semaine, sauf autour du point manquant. Nous faisons encore une vérification: nos dates doivent être séparées d'exactement une semaine, sauf autour du point manquant.
#+BEGIN_SRC python :results output #+BEGIN_SRC python :results output
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment