Traitement de tables matricielles (tableur)

information-icon

Les premières épreuves du bac de français édition 2024 sont pour bientôt ! Consulte les dates du bac de français, notre programme de révision accompagné de toutes nos fiches de révisions pour te préparer au mieux à ton examen 💪

Indexation de tables

Données tabulaires et format

  • Le stockage de données tabulaires sous forme de fichiers peut s’effectuer avec différents formats ouverts ou propriétaires, le plus connu est le format CSV.
  • Un format propriétaire nécessite un logiciel spécifique pour être lisible, contrairement à un format ouvert dont les spécifications techniques sont publiques avec un accès illimité aux données.
  • Dans un fichier, l’emploi d’un séparateur permet de stocker des données individuelles de longueur variable. Il en existe de nombreuses variantes :
  • le point-virgule, qui est moins susceptible d’entrer dans la composition des données élémentaires elles-mêmes ;
  • la virgule est utilisée comme séparateur décimal ;
  • le point parfois comme séparateur de milliers ;
  • les tabulations, le format est souvent appelé TSV, mais nous pouvons utiliser le fomat CSV ou texte en précisant le délimiteur par \t.

Acquisition de données tabulaires

  • Sans aucun module spécialisé : programmer soi-même la lecture du fichier et le traitement de chaque ligne, dont le découpage des contenus sur la base du séparateur et la gestion des caractères d’échappement.
  • Avec la bibliothèque standard Python : le module dédié csv.
  • Avec le lecteur fourni par le module csv (csv.reader), nous obtenons une liste composée de chacun des éléments individuels présents sur chaque ligne du fichier.

Stockage en mémoire de données tabulaires

  • En stockant l’ensemble des données dans une liste, nous pouvons accéder aux données individuelles avec la notation indexée, en utilisant un double index : le premier désigne la ligne souhaitée, le second l’élément dans la ligne.
  • Nous pouvons aussi stocker nos données dans des tuples et permet uniquement leur lecture car elles sont non mutables.
  • Les listes étant mutables, le stockage en liste de listes, autorise en revanche une éventuelle mise à jour des données individuelles.

Recherche dans une table

  • Des données peuvent être présentes à plusieurs reprises dans un ensemble de données, par exemple à la suite d’une erreur de double-saisie.
  • Cette redondance s’appelle un doublon.

Recherche avec connecteurs propositionnels

  • Pour affiner nos recherches, nous pouvons combiner plusieurs critères grâce à des connecteurs propositionnels, dont les plus courants sont :
  • « et » exprimé par and et
  • « ou » exprimé par or dans le langage Python.
  • Le connecteur ne porte pas nécessairement sur la même variable.

Recherche avec opérateur d’appartenance

  • Par exemple, l’opérateur d’appartenance in remplace avantageusement l’enchainement des connecteurs logiques or.
  • Nous pouvons également employer l’opérateur d’appartenance avec une négation not.
  • L’opérateur d’appartenance peut se révéler utile pour conserver un code lisible avec certaines recherches multi-critères.

Cohérence et normalisation des données

  • La cohérence des données est importante car elle conditionne la qualité des recherches et des traitements qui peuvent être effectués ensuite.
  • En l’absence de garanties sur la cohérence à la source des données acquises, il sera nécessaire d’inclure des vérifications ou des transformations préalables.
  • Les éventuels caractères de type espace présents en début ou en fin de chaine sont généralement supprimés systématiquement dans le cadre d’une normalisation. Des opérations complémentaires spécifiques peuvent être appliquées en fonction du profil des données d’origine.

Tri et fusion de tables

Tri

  • Les fonctionnalités de tri permettent de réorganiser des ensembles de données tabulaires selon différents critères, à des fins de traitements ou de présentation de ces données, selon les besoins.
  • Python propose deux solutions de tri :
  • Le tri sur place avec la méthode sort() qui effectue un tri en place et ne retourne rien ;
  • Le tri avec la fonction sorted() qui retourne une nouvelle liste triée à partir de la liste passée en argument.
  • Dans son cas d’usage le plus simple, la fonction sorted() prend en argument la liste qu’on souhaite trier :
  • Le tri se fait sur les éléments successifs de chaque sous-liste ;
  • Un paramètre optionnel permet de trier facilement la liste en ordre inverse ;
  • Dispose aussi d’un paramètre key permettant de spécifier une clé de tri pour personnaliser l’ordre dans lequel les données sont triées.

Fusion de tables

  • Des données réparties dans plusieurs ensembles distincts peuvent être réunies pour former un ensemble complet et unique.
  • Pour pouvoir rapprocher deux listes et les fusionner, nous devons déterminer un critère sur lequel les réunir.
  • Selon la manière dont les informations sont agencées et le type d’information à réunir, certaines difficultés peuvent se présenter : doublons ou l’absence d’entrée en correspondance sur le critère de fusion.