Retour à la page d'accueilSNT · Seconde · Changer de matière
Commencer gratuitement
Seconde · SNT
Graphes, données structurées, localisation et programmation embarquée · Données structurées

Descripteurs, CSV et traitements de tables

Une application de vélos en libre-service doit te dire, en quelques secondes, quelle station proche de chez toi a encore des vélos et des places libres. Derrière l'écran, il y a une simple table de données et quelques traitements automatiques. Comment est-elle organisée, et comment l'interroger ? Tu vas le découvrir ici.

Descripteurs, valeurs et collections

Une donnée structurée décrit des objets de la même manière. Chaque objet (une ville, un film, un livre) est décrit par les mêmes descripteurs. Les descripteurs sont les « questions » posées sur chaque objet. Ce que l'on répond pour un objet donné est la valeur.

Un ensemble d'objets décrits par les mêmes descripteurs forme une collection. On la présente sous forme de table : une ligne par objet, une colonne par descripteur.

nom region population
Rennes Bretagne 220 000
Lille Hauts-de-France 236 000
Dijon Bourgogne-Franche-Comté 159 000

Ici, les descripteurs sont nom, region et population. Pour Lille, la valeur du descripteur region est « Hauts-de-France ».

Une table : les descripteurs sont les en-têtes de colonnes, une ligne correspond à un objet et une case contient une valeur. nom region population Rennes Bretagne 220 000 Lille Hauts-de-France 236 000 Bleu : descripteursOrange : une valeur
Entraîne-toi★☆☆Pas commencé
Voici une collection de trois lignes décrivant des villes : a) Donner les descripteurs de cette collection. b) Quelle est la valeur du descripteur « region » pour Lille…

Voici une collection de trois lignes décrivant des villes :

nom;region;population

Rennes;Bretagne;220000

Lille;Hauts-de-France;236000

Dijon;Bourgogne-Franche-Comté;159000
  1. a) Donner les descripteurs de cette collection.
  1. b) Quelle est la valeur du descripteur « region » pour Lille ?
  1. c) Quel est le format de ce fichier et quel est le séparateur ?
Résoudre
Entraîne-toi★☆☆Pas commencé
Dans une table de films, on trouve les descripteurs : titre, annee, duree (en minutes). a) Expliquer la différence entre un descripteur et une valeur, avec un exemple.…

Dans une table de films, on trouve les descripteurs : titre, annee, duree (en minutes).

  1. a) Expliquer la différence entre un descripteur et une valeur, avec un exemple.
  1. b) Comment trier la table pour afficher d'abord le film le plus long ?
Résoudre

Le format CSV

Pour échanger une table entre logiciels, on l'enregistre souvent au format CSV (Comma-Separated Values). C'est un fichier texte : une ligne du fichier par ligne de la table, et les valeurs séparées par un séparateur. La première ligne contient en général les descripteurs.

nom;region;population

Rennes;Bretagne;220000

Lille;Hauts-de-France;236000

En France, le séparateur est souvent le point-virgule, car la virgule sert de virgule décimale (9,50). On trouve aussi la virgule, la tabulation ou la barre verticale selon les sites : il faut regarder le fichier avant de l'ouvrir.

Un fichier CSV s'ouvre dans un tableur (LibreOffice Calc, Excel) ou dans un éditeur de texte. Il est léger, lisible par n'importe quel logiciel et par un programme Python : c'est un format ouvert.

Entraîne-toi★☆☆Pas commencé
Voici une collection de trois lignes décrivant des villes : a) Donner les descripteurs de cette collection. b) Quelle est la valeur du descripteur « region » pour Lille…

Voici une collection de trois lignes décrivant des villes :

nom;region;population

Rennes;Bretagne;220000

Lille;Hauts-de-France;236000

Dijon;Bourgogne-Franche-Comté;159000
  1. a) Donner les descripteurs de cette collection.
  1. b) Quelle est la valeur du descripteur « region » pour Lille ?
  1. c) Quel est le format de ce fichier et quel est le séparateur ?
Résoudre

Rechercher, filtrer, trier, calculer

Une fois la table chargée, on réalise quatre opérations de base.

  • Rechercher : retrouver la ou les lignes qui ont une valeur donnée.

  • Filtrer : garder seulement les lignes qui vérifient une condition (par exemple age = 15).

  • Trier : ordonner les lignes selon un descripteur, en ordre croissant ou décroissant.

  • Calculer : somme, moyenne, minimum, maximum, comptage sur une colonne.

Entraîne-toi★☆☆Pas commencé
Une table contient les lignes suivantes (nom, age) : (Inès, 15), (Karim, 16), (Zoé, 15), (Paul, 17). a) Filtrer les élèves de 15 ans. b) Calculer l'âge moyen de…

Une table contient les lignes suivantes (nom, age) : (Inès, 15), (Karim, 16), (Zoé, 15), (Paul, 17).

  1. a) Filtrer les élèves de 15 ans.
  1. b) Calculer l'âge moyen de l'ensemble des quatre élèves.
Résoudre
Entraîne-toi★★☆Pas commencé
Une médiathèque de Grenoble fournit ce fichier CSV : a) Filtrer les livres de Hugo. b) Calculer le prix moyen des livres de Zola. c) Trier les livres par année…

Une médiathèque de Grenoble fournit ce fichier CSV :

titre;auteur;annee;prix

Les Misérables;Hugo;1862;9,50

Germinal;Zola;1885;7,20

Notre-Dame de Paris;Hugo;1831;8,90

Nana;Zola;1880;6,80
  1. a) Filtrer les livres de Hugo.
  1. b) Calculer le prix moyen des livres de Zola.
  1. c) Trier les livres par année croissante et donner l'ordre obtenu.
Résoudre
Entraîne-toi★★★Pas commencé
Un fichier CSV de stations de vélos en libre-service contient : station;arrondissement;velos;places. Il y a 5 stations : (A;1;12;3), (B;1;5;10), (C;2;0;15), (D;2;8;7),…

Un fichier CSV de stations de vélos en libre-service contient : station;arrondissement;velos;places. Il y a 5 stations : (A;1;12;3), (B;1;5;10), (C;2;0;15), (D;2;8;7), (E;3;20;0).

  1. a) Écrire la liste des stations ayant au moins un vélo et au moins une place libre.
  1. b) Calculer, par arrondissement, le nombre total de vélos.
  1. c) Une station est « saturée » si $\text{places}=0$ et « vide » si $\text{vélos}=0$. Identifier-les et expliquer comment un traitement automatique peut aider à rééquilibrer le service.
Résoudre

Croiser deux tables

Souvent, l'information est répartie sur deux tables pour éviter les répétitions. On les croise grâce à un descripteur commun, appelé clé, qui identifie chaque objet (un numéro, un code).

ELEVES (id, nom, classe) : (1, Jade, 2A), (2, Tom, 2B), (3, Lina, 2A).

NOTES (id, matiere, note) : (1, NSI, 14), (2, NSI, 11), (3, NSI, 17), (1, SNT, 15).

Le descripteur id est présent dans les deux tables. Pour chaque ligne de NOTES, on cherche dans ELEVES la ligne qui a le même id.

Deux tables reliées par le descripteur id : chaque ligne de NOTES est associée à la ligne de ELEVES qui a le même id. ELEVES (id, nom, classe) 1 · Jade · 2A 2 · Tom · 2B 3 · Lina · 2A NOTES (id, matiere, note) 1 · NSI · 14 2 · NSI · 11 3 · NSI · 171 · SNT · 15 id
Entraîne-toi★★☆Pas commencé
Table ELEVES (id, nom, classe) : (1, Jade, 2A), (2, Tom, 2B), (3, Lina, 2A). Table NOTES (id, matiere, note) : (1, NSI, 14), (2, NSI, 11), (3, NSI, 17), (1, SNT, 15). a)…

Table ELEVES (id, nom, classe) : (1, Jade, 2A), (2, Tom, 2B), (3, Lina, 2A).

Table NOTES (id, matiere, note) : (1, NSI, 14), (2, NSI, 11), (3, NSI, 17), (1, SNT, 15).

  1. a) Quel descripteur permet de croiser les deux tables ?
  1. b) Écrire la table obtenue en croisant les deux tables (nom, matiere, note).
  1. c) Calculer la moyenne en NSI des élèves de 2A.
Résoudre
Entraîne-toi★★★Pas commencé
Deux tables sont croisées : COMMUNES (code, nom, population) et ECOLES (code_commune, nb_ecoles). On observe que, après croisement, une commune n'apparaît pas dans le…

Deux tables sont croisées : COMMUNES (code, nom, population) et ECOLES (code_commune, nb_ecoles). On observe que, après croisement, une commune n'apparaît pas dans le résultat.

  1. a) Proposer deux causes possibles (par exemple une clé absente ou mal saisie).
  1. b) Pour une commune de 12 000 habitants ayant 6 écoles, calculer le nombre d'habitants par école.
  1. c) Expliquer pourquoi un tri sur un champ stocké comme texte peut placer « 100 » avant « 20 » et comment le corriger.
Résoudre
Entraîne-toi★★★Pas commencé
Un fichier CSV de températures contient pour 6 jours : jour;tmin;tmax avec : (1;4;11), (2;6;13), (3;3;9), (4;7;15), (5;5;12), (6;2;8). a) Calculer l'amplitude…

Un fichier CSV de températures contient pour 6 jours : jour;tmin;tmax avec : (1;4;11), (2;6;13), (3;3;9), (4;7;15), (5;5;12), (6;2;8).

  1. a) Calculer l'amplitude $\text{tmax}-\text{tmin}$ pour chaque jour et la moyenne des amplitudes.
  1. b) Déterminer le jour d'amplitude maximale.
  1. c) Écrire en langage naturel l'algorithme (parcours de la table) qui renvoie ce jour.
Résoudre

Données ouvertes

Les données ouvertes (open data) sont des données publiques, mises à disposition de tous, gratuitement, sous une licence ouverte qui autorise la réutilisation. De nombreuses communes, régions et administrations publient les leurs, par exemple sur data.gouv.fr : horaires, écoles, stations de vélos, qualité de l'air.

Avantages : transparence, création d'applications (itinéraires, cartes), recherche, gain de temps. Le format CSV, ouvert, léger et lisible par tous les logiciels, s'y prête très bien.

Précautions quand les données concernent des personnes :

  • ne pas publier de données personnelles permettant d'identifier quelqu'un (nom, adresse précise, photo) sans base légale : c'est le RGPD ;

  • anonymiser ou agréger (donner des effectifs, pas des noms), et croiser avec prudence, car deux tables anonymes peuvent permettre de ré-identifier une personne.

Le traitement automatique permet aussi de rendre un service : dans la table de stations de vélos, un programme repère les stations « vides » (velos = 0) et « saturées » (places = 0) pour envoyer les camions de rééquilibrage au bon endroit.

Entraîne-toi★★☆Pas commencé
Une commune publie ses données en open data : liste des écoles avec leur adresse et leur effectif, sous licence ouverte. a) Expliquer ce qu'est l'open data et citer deux…

Une commune publie ses données en open data : liste des écoles avec leur adresse et leur effectif, sous licence ouverte.

  1. a) Expliquer ce qu'est l'open data et citer deux avantages.
  1. b) Donner deux précautions à prendre quand les données concernent des personnes.
  1. c) Pourquoi le format CSV est-il adapté à la réutilisation de ces données ?
Résoudre

Retour au début : l'application de vélos lit un fichier CSV, filtre les stations qui ont à la fois des vélos et des places, puis les trie par distance.

L'essentiel

  • Une collection d'objets se présente en table : une ligne par objet, une colonne par descripteur ; la case contient la valeur.

  • Le CSV est un fichier texte dont les valeurs sont séparées par un séparateur (souvent ; en France).

  • Traitements de base : rechercher, filtrer, trier, calculer ; on filtre avant de calculer une moyenne.

  • On croise deux tables grâce à une clé commune ; une clé absente ou mal saisie fait disparaître une ligne.

  • Un nombre stocké comme texte se trie mal (« 100 » avant « 20 ») : convertir d'abord.

  • L'open data facilite la réutilisation, mais exige des précautions (RGPD) pour les données personnelles.

Voir tous les exercices de cette partie