Cuestionario: Maîtriser la gestion des tables CSV en Python — 20 preguntas

Preguntas y respuestas detalladas

1. Quel est le rôle principal de csv.DictReader lors de la lecture d’un fichier CSV ?

Il transforme chaque ligne en dictionnaire dont les clés proviennent des en-têtes
Il convertit toutes les valeurs en entiers dès la lecture
Il ignore la première ligne du fichier et lit uniquement les données
Il trie automatiquement les lignes du fichier selon la première colonne

Il transforme chaque ligne en dictionnaire dont les clés proviennent des en-têtes

Explicación

csv.DictReader lit le CSV ligne par ligne et construit un dictionnaire par ligne, en utilisant les en-têtes comme clés. Il ne trie pas les lignes et ne convertit pas automatiquement les types.

2. Pourquoi doit-on souvent appliquer int(...) à certains champs après une lecture avec csv.DictReader ?

Parce que int(...) sert à séparer les colonnes du CSV
Parce que les valeurs lues sont des chaînes et non des nombres
Parce que csv.DictReader remplace les clés par des entiers
Parce que les en-têtes du fichier sont forcément numériques

Parce que les valeurs lues sont des chaînes et non des nombres

Explicación

Les valeurs d’un CSV sont lues comme des chaînes, donc une conversion est nécessaire pour effectuer des comparaisons ou calculs numériques. La fonction int(...) ne sert pas à découper le fichier.

3. Que permet de faire une expression booléenne dans l’interrogation d’une table ?

Supprimer automatiquement les doublons
Transformer chaque ligne en dictionnaire
Sélectionner les lignes qui vérifient une condition
Réordonner les colonnes d’une table

Sélectionner les lignes qui vérifient une condition

Explicación

Une expression booléenne sert de filtre : elle décide si une ligne est retenue ou non. Elle ne transforme pas la structure des données.

4. Dans une jointure entre deux tables, quel est le principe général de sélection des lignes ?

Remplacer toutes les valeurs par des booléens
Ajouter une colonne numérique à chaque ligne
Relier des lignes selon une condition de correspondance
Conserver uniquement les lignes déjà triées

Relier des lignes selon une condition de correspondance

Explicación

Une jointure rapproche deux tables en reliant des lignes qui correspondent selon une condition. Ce n’est pas un simple tri ni une conversion de types.

5. Qu’appelle-t-on une table cohérente dans le cadre de contraintes d’intégrité ?

Une table dont les lignes sont triées par ordre alphabétique
Une table qui ne contient que des chaînes de caractères
Une table dans laquelle chaque ligne est unique
Une table dont les lignes respectent les règles imposées

Une table dont les lignes respectent les règles imposées

Explicación

La cohérence signifie que les données respectent les contraintes d’intégrité définies. Le tri ou l’unicité ne définissent pas à eux seuls cette cohérence.

6. Que peut faire une fonction de vérification lorsqu’une contrainte d’intégrité est violée ?

Lever une exception pour signaler l’erreur
Transformer automatiquement la valeur en texte
Ajouter la ligne une seconde fois
Ignorer la ligne sans la traiter

Lever une exception pour signaler l’erreur

Explicación

Le cours indique qu’une erreur peut être signalée explicitement par une exception via raise. Cela permet d’interrompre le traitement en cas de non-respect d’une contrainte.

7. Quand deux lignes sont-elles considérées comme des doublons ?

Quand toutes leurs valeurs sont identiques pour chaque colonne
Quand elles apparaissent dans deux fichiers différents
Quand elles ont le même nombre de colonnes
Quand elles contiennent au moins une valeur commune

Quand toutes leurs valeurs sont identiques pour chaque colonne

Explicación

Un doublon correspond à deux lignes entièrement identiques, champ par champ. Une simple valeur commune ne suffit pas.

8. Quelle condition permet d’éviter l’ajout d’une ligne déjà présente dans une table ?

if ligne not in table_clients
if ligne in en-tetes
if ligne is None
if ligne == table_clients

if ligne not in table_clients

Explicación

La condition ligne not in table_clients teste si la ligne complète n’existe pas déjà dans la table. Elle permet ainsi d’éviter d’ajouter un doublon.

9. Que fait la méthode sort lorsqu’elle est appliquée à une liste de dictionnaires ?

Elle trie la liste sur place
Elle transforme chaque dictionnaire en liste
Elle supprime les éléments en double
Elle renvoie une nouvelle liste triée sans modifier l’originale

Elle trie la liste sur place

Explicación

La méthode sort modifie directement la liste sur laquelle elle s’applique. Elle ne crée pas automatiquement une nouvelle liste.

10. À quoi sert l’argument key dans un tri avec sort ?

À choisir les dictionnaires à fusionner
À fournir la fonction qui calcule la valeur de comparaison
À indiquer le nombre d’éléments à trier
À préciser le séparateur entre les valeurs

À fournir la fonction qui calcule la valeur de comparaison

Explicación

key désigne la fonction utilisée pour extraire la clé de comparaison de chaque élément. C’est elle qui guide l’ordre du tri.

11. Dans un exercice de tri et d’accès, que signifie une expression comme voyages[0]['dest'] ?

La suppression du premier élément de la liste
Le tri de la liste selon la clé dest
L’accès à une valeur de dictionnaire dans le premier élément de la liste
La création d’un nouveau dictionnaire vide

L’accès à une valeur de dictionnaire dans le premier élément de la liste

Explicación

voyages[0] désigne le premier élément de la liste, puis ['dest'] accède à une valeur de ce dictionnaire. On combine donc accès par indice et accès par clé.

12. Quel changement est demandé lorsqu’on remplace un parcours par indice par un parcours par élément ?

Trier automatiquement la liste avant le parcours
Parcourir directement les éléments sans utiliser de compteur explicite
Remplacer les dictionnaires par des tuples
Ajouter un second indice à chaque accès

Parcourir directement les éléments sans utiliser de compteur explicite

Explicación

Un parcours par élément évite d’utiliser un indice comme i et travaille directement sur chaque objet de la liste. Cela simplifie la boucle quand l’indice n’est pas nécessaire.

13. Que renvoie csv.reader lorsqu’il lit une ligne d’un fichier CSV ?

Un dictionnaire indexé par les en-têtes
Un entier représentant la ligne
Une liste de champs
Une chaîne de caractères unique

Une liste de champs

Explicación

csv.reader renvoie chaque ligne sous forme de liste de champs, sans utiliser les en-têtes comme clés. Les données ne sont donc pas encore structurées en dictionnaires.

14. À quoi sert l’argument delimiter=';' dans csv.reader ?

À indiquer le séparateur utilisé entre les champs
À convertir les valeurs en entiers
À choisir la ligne d’en-tête
À trier les lignes par point-virgule

À indiquer le séparateur utilisé entre les champs

Explicación

delimiter précise le caractère qui sépare les champs dans chaque ligne du CSV. Ici, le point-virgule sert de séparateur de colonnes.

15. Quel est l’objectif principal de la transformation d’une liste en dictionnaires structurés ?

Associer à chaque position de la ligne un nom de champ
Fusionner plusieurs fichiers CSV en un seul
Trier les lignes selon leur longueur
Supprimer les valeurs numériques du tableau

Associer à chaque position de la ligne un nom de champ

Explicación

La transformation consiste à passer d’une liste de listes à une liste de dictionnaires en reliant les positions aux noms de champs. Cela rend l’accès aux données plus clair.

16. Comment sont convertis les indicateurs 0/1 des genres lors de la structuration d’un film ?

En chaînes identiques à leurs clés
En dates au format texte
En valeurs booléennes True ou False
En nombres décimaux

En valeurs booléennes True ou False

Explicación

Les champs de genres sont convertis en booléens pour refléter la présence ou l’absence d’un genre. Le 0/1 du CSV devient donc False/True.

17. Comment modifie-t-on la valeur associée à une clé dans un dictionnaire Python ?

En supprimant puis recréant toutes les clés
En réaffectant la clé avec la nouvelle valeur
En convertissant le dictionnaire en liste
En triant le dictionnaire

En réaffectant la clé avec la nouvelle valeur

Explicación

La modification se fait par affectation directe, par exemple mydict['stockage'] = '750 G'. Cette syntaxe sert aussi bien à lire qu’à écrire une valeur.

18. Que permet d’obtenir l’expression mydict['device'] ?

Le tri alphabétique des valeurs
La liste de toutes les clés du dictionnaire
Le nombre total d’éléments du dictionnaire
La valeur associée à la clé device

La valeur associée à la clé device

Explicación

La notation dictionnaire[clé] permet d’accéder à la valeur associée à cette clé. Ici, elle renvoie la donnée stockée sous device.

19. Que réalise une fonction de fusion de dictionnaires comme dic_fusion(d1,d2,d3) ?

Elle trie les clés par ordre croissant
Elle regroupe plusieurs dictionnaires en un seul
Elle sépare un dictionnaire en deux selon un seuil
Elle convertit les valeurs en booléens

Elle regroupe plusieurs dictionnaires en un seul

Explicación

La fusion consiste à construire un dictionnaire unique à partir de plusieurs dictionnaires. L’idée est de réunir l’ensemble des paires clé-valeur.

20. Dans une partition de dictionnaire selon la moyenne des élèves, que représentent les deux dictionnaires renvoyés ?

Les valeurs triées et les valeurs non triées
Les notes avant et après correction
Les clés numériques et les clés textuelles
Les élèves admis et les élèves non admis

Les élèves admis et les élèves non admis

Explicación

La partition sépare les entrées en deux groupes selon la condition sur la moyenne. Les deux sorties correspondent aux admis et aux non admis.

Repasa con tarjetas de memoria

Memoriza las respuestas con 20 tarjetas de memoria sobre Maîtriser la gestion des tables CSV en Python.

csv.DictReader — rôle ?

Lit un CSV, ligne par ligne, en dicts.

En-tête CSV — rôle ?

Fournit les clés pour les dicts.

Table de dicts — structure ?

Liste de lignes sous forme de dicts.

Ver tarjetas de memoria →

Estudia la hoja de repaso

Lee la hoja de repaso completa sobre Maîtriser la gestion des tables CSV en Python.

Ver hoja de repaso →

Similar courses

Crea tus propios cuestionarios

Importa tu curso y la IA genera cuestionarios con correcciones en 30 segundos.

Generador de cuestionarios