Les données structurées et leur traitement

Open Data

Le Web est aussi une source importante de données numériques

Peut on cependant utiliser les données "n'importe comment ?"

Pour permettre une meilleure utilisation des données un mouvement appelé "Open Data" a fait son apparition ces dernières années

Le terme "Open Data" fait référence à des données "numériques accessibles en ligne ". Il y a des lois qui encadrent l'utilisation de ces données. Elles ne doivent être ni personnelles, ni propriétaires et ni sensibles.

Aller voir les sites suivants , puis répondre aux questions de l'exercice 1

Exercice 1

  1. Aller sur le site de la ville de Paris , sous quelle type de licence puis je utiliser les données publiques fournies par la ville de Paris
  2. Puis je m'approprier ces données et les diffuser sur Internet ?
  3. Puis je vendre ces données ?

  4. Aller dans données et trouver l'arbre le plus vieux de Paris. Où se trouve -t-il et quel est son âge?Auriez vous pu répondre à cette question s'il y avait un grand nombre d'arbres ? Comment faire dans ce cas ?

Fichier .csv

Nous allons nous intéresser aux données publiques fournies par Météo-France concernant les observations en mer faites par des balises Voir ici

Dans un premier temps nous allons faire connaissance avec le format de fichier .csv pour comma separated values.

Pour simplifier ce sont des données séparées par des séparateurs comme des point-virgules par exemple

Beaucoup d'administrations (par exemple celle du lycée) échangent leurs informations sous cette forme

Exercice 2

  1. Ouvrir le tableur Libre Office, et dans la cellule A1 entrer Noms, puis dans B1 entrer Prénoms, puis dans C1 entrer année de naissance
  2. Puis compléter les champs ainsi crées par deux écrivains français: Hugo Victor né en 1802 et Camus Albert né en 1913
  3. Enregistrer le fichier avec le nom ecrivains.ods puis faire enregistrer sous au format .csv
  4. Ouvrir le fichier .csv avec un éditeur de texte comme NotePad++ qu'observez vous ?
  5. Comparer les tailles en octets des fichiers. Qu'observez vous ?

Traitement des données

On peut rechercher des informations intéressantes sur des fichiers .csv "volumineux" avec des algorithmes

Sur le site du ministère de l'intérieur on peut télécharger plusieurs fichiers .csv en rapport avec les accidents de la route ayant lieu en France en 2018

Exercice 3

  1. Sur quelles données travaille-t-on?
  2. Est ce que les données concernent uniquement la France métropolitaine ?
  3. Quelle est la taille du fichier usagers-2018.csv ?
  4. Télécharger le fichier pdf description base de données 2005-2018 et prévisualiser le fichier usagers-2018.csv puis répondre aux questions suivantes
  5. Quel est l'âge du conducteur du véhicule du premier accident ?
  6. A-t-il été hospitalisé ?
  7. Que signifie 0 pour le champ "Trajet" ?
  8. Télécharger le fichier usagers-2018.csv puis essayer de l'ouvrir avec un tableur comme libreOffice Calc, est ce possible ?
  9. Essayer de l'ouvrir avec Notepad ++ est-ce possible ?
  10. Télécharger le fichier Python suivant puis l'éxécuter il affiche les 10 premières lignes du fichier en dehors des champs

Listes

La structure de base est la liste ou tableau

Ci-dessous sont affichées les 5 premières listes du tableau à 2 dimensions créé à partir du fichier usagers-2018.csv

Allez sur le site pythontutor et cliquez sur "visualize your code ..."

Ensuite recopiez le code suivant et visualisez son exécution



liste =  ['201800000001', '1', '1', '3', '1', '0', '11', '0', '0', '0', '1928', 'B01']

for element in liste:
    print(element)

La boucle for nous permet de parcourir la liste du premier élément d'indice 0 au dernier d'indice 11, et on affiche chaque élément

Il y a 12 éléments dans chaque liste numérotés de 0 à 11



liste =  ['201800000001', '1', '1', '3', '1', '0', '11', '0', '0', '0', '1928', 'B01']

for i in range(len(liste)):
    print(liste[i])

La fonction len() comme length donne la longueur de la liste ou le nombre d'éléments de la liste

liste[i] donne la valeur de la liste à la position repérée par le nombre i

Table ou Liste de listes

Une table est une liste de listes

Allez sur le site pythontutor et cliquez sur "visualize your code ..."

Ensuite recopiez le code suivant et visualisez son exécution



table = [['201800000001', '1', '1', '3', '1', '0', '11', '0', '0', '0', '1928', 'B01'],
          ['201800000001', '1', '1', '1', '1', '5', '11', '0', '0', '0', '1960', 'A01'],
          ['201800000002', '1', '1', '1', '1', '0', '11', '0', '0', '0', '1947', 'A01']]

for element in table:
    print(element)

Ce code nous permet d'afficher chaque ligne ou liste de la table

Si on veut par exemple afficher uniquement les dates de naissance situées dans le champ numérotée par 10



table = [['201800000001', '1', '1', '3', '1', '0', '11', '0', '0', '0', '1928', 'B01'],
          ['201800000001', '1', '1', '1', '1', '5', '11', '0', '0', '0', '1960', 'A01'],
          ['201800000002', '1', '1', '1', '1', '0', '11', '0', '0', '0', '1947', 'A01']]

for i in range(len(table)):
    print(table[i][10])