Numérique et Sciences Informatiques1ère

Lecture de données externes
Exercices corrigés

Maîtrisez la lecture de données externes : fichiers texte, CSV, JSON, XML, bases de données, API grâce à ces 5 exercices détaillés.

Concepts & Exercices
Lecture = Fichier + Format + Parser + Traitement
Formule de la lecture de données externes
Fichier texte
→ open()
Lecture linéaire
CSV
→ csv.reader()
Données tabulaires
JSON
→ json.load()
Structures imbriquées
Processus de lecture de données externes

Ouverture → Lecture → Parsing → Traitement → Fermeture

Exercice 1
Lire un fichier texte contenant des données et extraire des informations spécifiques.
Exercice 2
Lire un fichier CSV et effectuer des opérations statistiques sur les données.
Exercice 3
Lire un fichier JSON et naviguer dans sa structure hiérarchique.
Exercice 4
Lire des données depuis une base de données SQLite.
Exercice 5
Lire des données depuis une API REST externe.
Corrigé : Exercices 1 à 3
1 Lecture de fichier texte
Définition du fichier texte :

Fichier texte : Fichier contenant des données sous forme de caractères lisibles, souvent organisé en lignes.

Méthodologie d'analyse :
  1. Ouvrir le fichier avec open()
  2. Lire le contenu ligne par ligne
  3. Extraire les informations pertinentes
  4. Fermer le fichier
Méthodes de lecture de fichiers texte
  • read() : Lit tout le fichier
  • readline() : Lit une seule ligne
  • readlines() : Lit toutes les lignes dans une liste
  • Boucle for sur le fichier : Lit ligne par ligne
Étape 1 : Ouverture du fichier
with open('donnees.txt', 'r') as fichier:
Étape 2 : Lecture et extraction
for ligne in fichier:
    # Traiter chaque ligne
    donnees = ligne.strip().split(',')
    print(donnees)
Étape 3 : Fermeture automatique

L'instruction with ferme automatiquement le fichier après le bloc.

Utilisation de with open() pour une gestion sécurisée des fichiers
Réponse finale :
# Lecture d'un fichier texte
with open('donnees.txt', 'r') as fichier:
    for ligne in fichier:
        # Supprimer les espaces et séparer les éléments
        elements = ligne.strip().split(',')
        print(elements)
Lois et principes :

Principe de la gestion des ressources : Toujours fermer les fichiers après utilisation

Utilisation de with : Permet une gestion automatique des ressources

Nettoyage des données : Utiliser strip() pour supprimer les espaces

2 Lecture de fichier CSV
Définition du format CSV :

CSV (Comma-Separated Values) : Format de fichier pour stocker des données tabulaires avec des séparateurs.

Avantages du format CSV
  • Léger et simple
  • Compatible avec les tableurs
  • Lisible par la plupart des programmes
  • Structure tabulaire claire
Étape 1 : Importation du module
import csv
Étape 2 : Ouverture du fichier CSV
with open('donnees.csv', 'r') as fichier_csv:
Étape 3 : Création du lecteur CSV
lecteur = csv.reader(fichier_csv)
for ligne in lecteur:
    print(ligne)
Utilisation du module csv pour une lecture structurée
Réponse finale :
import csv

# Lecture d'un fichier CSV
with open('donnees.csv', 'r') as fichier_csv:
    lecteur = csv.reader(fichier_csv)
    for ligne in lecteur:
        print(ligne)
Lois et principes :

Module CSV : Fournit des outils spécifiques pour les fichiers CSV

Delimiteur par défaut : La virgule (',') est le séparateur standard

Structure tabulaire : Chaque ligne représente un enregistrement

3 Lecture de fichier JSON
Définition du format JSON :

JSON (JavaScript Object Notation) : Format de données structurées en arbre hiérarchique.

Caractéristiques du format JSON
  • Format clé-valeur
  • Structures imbriquées possibles
  • Très utilisé dans les API
  • Universellement supporté
Étape 1 : Importation du module
import json
Étape 2 : Ouverture du fichier JSON
with open('donnees.json', 'r') as fichier_json:
Étape 3 : Chargement des données
donnees = json.load(fichier_json)
print(donnees)
Utilisation de json.load() pour charger les données structurées
Réponse finale :
import json

# Lecture d'un fichier JSON
with open('donnees.json', 'r') as fichier_json:
    donnees = json.load(fichier_json)
    print(donnees)
Lois et principes :

Module JSON : Convertit automatiquement en objets Python

Hiérarchie des données : Les structures imbriquées sont conservées

Accès aux données : Utiliser la syntaxe des dictionnaires/listes

Corrigé : Exercices 4 à 5
4 Lecture de base de données SQLite
Définition de SQLite :

SQLite : Système de gestion de base de données relationnelle légère, sans serveur.

Avantages de SQLite
  • Basé sur SQL
  • Fichier unique
  • Très léger
  • Intégré à Python
Étape 1 : Importation du module
import sqlite3
Étape 2 : Connexion à la base
connexion = sqlite3.connect('base.db')
Étape 3 : Création d'un curseur
curseur = connexion.cursor()
Étape 4 : Exécution d'une requête
curseur.execute("SELECT * FROM table")
resultats = curseur.fetchall()
print(resultats)
Utilisation de SQLite pour accéder aux données relationnelles
Réponse finale :
import sqlite3

# Connexion à la base de données
connexion = sqlite3.connect('base.db')
curseur = connexion.cursor()

# Exécution d'une requête
curseur.execute("SELECT * FROM table")
resultats = curseur.fetchall()

# Affichage des résultats
for resultat in resultats:
    print(resultat)

# Fermeture de la connexion
connexion.close()
Lois et principes :

Connexion et fermeture : Toujours fermer la connexion après utilisation

Curseur : Outil pour exécuter les requêtes SQL

Requêtes SQL : Utiliser le langage SQL standard

5 Lecture de données via API REST
Définition d'une API REST :

API REST : Interface de programmation d'application qui suit les principes de l'architecture REST.

Caractéristiques des API REST
  • Format JSON pour les données
  • Protocole HTTP
  • URL spécifique pour chaque ressource
  • Verbes HTTP (GET, POST, PUT, DELETE)
Étape 1 : Importation des modules
import requests
import json
Étape 2 : Requête HTTP GET
reponse = requests.get('https://api.exemple.com/data')
Étape 3 : Conversion en JSON
donnees = reponse.json()
print(donnees)
Utilisation de requests pour accéder aux données externes
Réponse finale :
import requests
import json

# Requête vers l'API
reponse = requests.get('https://api.exemple.com/data')

# Vérification du statut
if reponse.status_code == 200:
    # Conversion en JSON
    donnees = reponse.json()
    print(donnees)
else:
    print(f"Erreur: {reponse.status_code}")
Lois et principes :

Code de statut HTTP : Vérifier le code de réponse (200 = succès)

Format JSON : Les API retournent souvent des données en JSON

Limitation des requêtes : Respecter les quotas d'utilisation

Cours bien détaillé
Données externes = Source × Format × Méthode × Traitement
Formule de la lecture de données externes
🎯
Définition : La lecture de données externes consiste à récupérer des informations stockées en dehors du programme, dans divers formats.
📏
Objectifs : Accéder à des données persistantes, traiter des informations volumineuses, interagir avec des sources externes.
📐
Types : Fichiers texte, CSV, JSON, XML, bases de données, API REST.
📝
Applications : Traitement de données, analyse statistique, intégration d'informations externes.
💡
Conseil : Utilisez toujours with open() pour gérer les fichiers
🔍
Attention : Vérifiez le format des données avant de les lire
Astuce : Testez les codes de statut pour les API
📋
Méthode : Validez les données après la lecture
Vérification : Vérifiez la structure des données lues
Formats de données courants :
  • Fichier texte : Données simples organisées en lignes
  • CSV : Données tabulaires séparées par des virgules
  • JSON : Données structurées en arbre hiérarchique
  • XML : Données structurées avec balises
  • SQLite : Base de données relationnelle locale
  • API REST : Données accessibles via HTTP
Concepts clés à retenir :
  • La gestion des fichiers nécessite une ouverture et fermeture appropriées
  • Les formats de données influencent la méthode de lecture
  • Les API nécessitent des requêtes HTTP et une gestion des erreurs
  • SQLite permet l'accès à des données relationnelles sans serveur
  • Le module json convertit automatiquement en objets Python
Processus de lecture de données externes

Identification → Ouverture → Lecture → Parsing → Traitement → Validation

Lecture de données externes Entrées/Sorties et interaction