Traitement de données en tables

Categories:python

Rappels sur les données

Les « données » sont à la base de l’informatique, car toute l’informatique est justement le traitement de ces données afin d’en extraire des informations utiles ou de les transformer, rassembler, d’en déduire un raisonnement ou une prédiction.
En informatique, tout est donné, depuis les 0 et les 1 qui décrivent l’état des transistors dans un circuit électronique, jusqu’à une vidéo, en passant par les photos, les adresses, un relevé de température ou l’âge d’une personne. Les données sont souvent rassemblées pour caractériser un objet comme l’adresse d’une personne (composée du numéro de rue, du nom de la rue, du code postal, de la ville et du pays par exemple). Lorsque les données sont ainsi rassemblées pour décrire quelque chose avec plusieurs informations, on parle de données structurées
La conservation des données est un enjeu qui existe depuis l’aube des civilisations, bien avant l’informatique, car on peut considérer que les textes de loi, les comptes et la mémoire des évènements historiques sont autant de données qu’il a fallu faire passer de génération en génération (tablettes d’argile, parchemins, livres manuscrits, imprimerie…).
Lors de l’avènement du traitement informatique des données, celles-ci ont d’abord été conservées sur des cartes perforées avec un système de lecture optique, avant de passer sur des supports magnétiques (bandes, disques durs), puis à nouveau optique (CD, DVD, Bluray) avant de passer à des stockages dans des cellules mémoires (type transistors non volatil) pour les systèmes actuellement utilisés dans les systèmes informatiques (cartes mémoires sd, ssd…). Ces stockages de données sont de plus en plus rapides pour la lecture et l’écriture et leurs capacités augmentent très vite à mesure que toutes les informations analogiques de notre vie sont numérisées pour un traitement informatique de plus en plus massif.

Formats de stockage des données

Même si, au final, toutes les données numérisées vont être conservées en binaire (0 et 1) qui correspond au format traité par les ordinateurs, pour qu’elles soient faciles à traiter, elles vont être organisées en fonction de leurs types.
Pour des données qui doivent pouvoir être triées, recoupées et traitées ultérieurement pour en faire des rapports, des analyses, des graphiques… on utilise principalement des tableaux ou des listes. Ceux-ci peuvent être inscrits dans des fichiers textes lisibles avec un indicateur de séparation entre champs de données. Le plus courant est le séparateur par virgule (comma en anglais) : comma separated values (csv). Ce format convient bien pour des petites collections de données. Pour de plus grosses quantités, on utilisera des ensembles de tables, reliées entre elles par des règles et constituants des « bases de données » (database).
Quand les données sont plus spécifiques, on utilise de nombreux autres formats de stockage identifiés par leurs extensions : PNG, JPEG, HEIF… pour des images ; MP3, WAV, M4A… pour des sons ; MP4, AVI, M4V… pour des vidéos…À cette extension est associé une structure logique des données et un en-tête de fichier qui permettra à un programme d’avoir des détails sur les informations conservées dans le fichier. Par exemple, un fichier vidéo enregistré sur un téléphone portable contiendra les informations suivantes :

Les colonnes de gauche contiennent le codage du fichier en hexadécimal (comptage en base 16 très utilisée en informatique) et à droite sa traduction en ASCII (american standard code for information interchange) qui permet de lire ce contenu « en clair ». On constate que le début du fichier contient des informations sur le type de codage utilisé pour la vidéo (H.264/MPEG-A AVC Codec) suivie de nombreuses informations nécessaires au décodage de cette vidéo.
Toutes ces informations sont nécessaires pour que le fichier puisse être ouvert et exploité par d’autres ordinateurs. On parle alors d’interopérabilité.

Données structurées et traitement

On parle de données structurées quand un ensemble de données donne des clefs d’accès simples aux données qu’il contient. C’est typiquement le cas d’une base de données qui contient des tableaux et des clefs d’indexation permettant d’identifier rapidement chaque ensemble de données (comme un numéro d’article ou un numéro de client), mais aussi d’un fichier csv qui contient des identificateurs de colonne permettant un tri rapide.

Exemple de la structure d’une base de données d’association (source Wikipédia).

Exemple de la structure d’une base de données d’association

Dans l’image ci-dessus, on voit que chaque information sur une personne de la base est identifiée par un descripteur qui décrit ce qu’elle doit contenir (firstname – prénom ; lastname – nom ; date-of-birth : date de naissance….) et chacun de ces champs est défini par un type précis (varchar(50) : 50 caractères libres ; Date…). Pour chaque utilisateur il y aura une ligne dans le tableau « person » et cette ligne contiendra les valeurs saisies lors de l’enregistrement d’un nouveau membre de l’association.

Récupérer des données structurées

La protection des données personnelles fait que de nombreuses informations précises ne sont heureusement pas accessibles librement sur Internet. Il existe toutefois des sites d’information ouverts regroupant des bases de données à usage publiques : les Open Data.

Recherches, tri et calculs dans des tables de données

En choisissant un ensemble de données il est possible d’y effectuer de recherches spécifiques, de mettre en place un filtre (par année par exemple), puis de cliquer sur les colonnes du tableau pour effectuer un tri (croissant ou décroissant).
Il est également possible de récupérer les données au format csv afin de les utiliser pour effectuer des calculs ou des analyses graphiques en créant des représentations à partir des données.

Lire et écrire dans un fichier

Prenons un exemple de fichier open data disponible sur les sites gouvernementaux français : la population et la superficie des départements français par région en 2019. Le contenu du fichier csv brut ressemble à ceci :

On constate, comme c’est assez souvent le cas (et c’est bien pratique) que ce fichier contient un identifiant des colonnes du tableau, que l’on appelle aussi les descripteurs (ou en-tête), sur sa première ligne. Chaque donnée est ensuite séparée par un point-virgule.

Ce type de fichier peut facilement être traité par un tableur pour trier, extraire ou regrouper des données, mais ici nous allons voir comment traiter ces données avec Python.

La première étape sera d’ouvrir le fichier avec un programme Python afin de pouvoir accéder à son contenu. Pour cela on utilise la commande « open » qui doit être suivie du nom du fichier à ouvrir et de la méthode d’ouverture : « r » pour lecture (read), « w » pour écriture (write), par exemple.

Aucune réponse

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.