{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Données structurées TP n° 2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "Écrire votre nom ici \n", "\n", "Nom : \n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Traitement de données avec un programme en Python" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Nous aurons besoin de deux bibliothèques pour ce notebook**\n", "* **La bibliothèque csv** pour manipuler des fichiers csv\n", "* **La bibliothèque requests** pour l'import de fichier depuis une url\n", "\n", "Elles sont généralement installées nativement dans Python 3\n", "\n", "***Le programme ci-dessous charge le fichier Lycee2.csv depuis une url et affiche la première ligne du fichier chargé***" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#import des bibliothèques\n", "import csv\n", "import requests\n", "\n", "# Importation des données au format CSV\n", "url=\"http://isn-icn-ljm.pagesperso-orange.fr/fichiers/lycee2.csv\"\n", "csvfile = requests.get(url)\n", "csvfile = csvfile.content.decode('utf-8')\n", "etablissement = list(csv.reader(csvfile.splitlines(), delimiter=','))\n", "\n", "print(etablissement[0])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "***Les lignes sont des listes***\n", "\n", "****Pour repérer un élément d'une ligne il faut savoir à quel indice il se trouve dans la liste****\n", "\n", "Par exemple la dénomination principale de l'établissement se trouvant à la ligne 25 (la 26ème puisque la première est la ligne 0) : est COLLEGE\n", "\n", "Comme le montre le programme ci-dessous :\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#import des bibliothèques\n", "import csv\n", "import requests\n", "\n", "# Importation des données au format CSV\n", "url=\"http://isn-icn-ljm.pagesperso-orange.fr/fichiers/lycee2.csv\"\n", "csvfile = requests.get(url)\n", "csvfile = csvfile.content.decode('utf-8')\n", "etablissement = list(csv.reader(csvfile.splitlines(), delimiter=','))\n", "\n", "print(etablissement[25][2])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "## Faire une recherche à partir d'un critère\n", "\n", "Le numéro UAI du Lycée Jean Moulin (Draguignan) est : **0830015R**\n", "\n", "****Nous allons parcourir la liste des établissements et nous ferons afficher la ligne correspondant au lycée Jean Moulin****\n", "\n", "**Exécutez le programme ci-dessous**" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#import des bibliothèques\n", "import csv\n", "import requests\n", "\n", "# Importation des données au format CSV\n", "url=\"http://isn-icn-ljm.pagesperso-orange.fr/fichiers/lycee2.csv\"\n", "csvfile = requests.get(url)\n", "csvfile = csvfile.content.decode('utf-8')\n", "etablissement = list(csv.reader(csvfile.splitlines(), delimiter=','))\n", "\n", "for ligne in etablissement:\n", " if ligne[0]=='0830015R':\n", " print(ligne)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "***On peut améliorer l'affichage***" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#import des bibliothèques\n", "import csv\n", "import requests\n", "\n", "# Importation des données au format CSV\n", "url=\"http://isn-icn-ljm.pagesperso-orange.fr/fichiers/lycee2.csv\"\n", "csvfile = requests.get(url)\n", "csvfile = csvfile.content.decode('utf-8')\n", "etablissement = list(csv.reader(csvfile.splitlines(), delimiter=','))\n", "\n", "for ligne in etablissement:\n", " if ligne[0]=='0830015R':\n", " \n", " print(\"===============================================================\")\n", " print(ligne[1])\n", " print(ligne[7],\" \",ligne[5])\n", " print(ligne[8])\n", " print(ligne[9])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "### Faire afficher tous les établissements d'une ville\n", "\n", "***Le programme ci-dessous demande à l'utilsateur un nom de ville et affiche les résultats de la recherche***" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#import des bibliothèques\n", "import csv\n", "import requests\n", "\n", "# Importation des données au format CSV\n", "url=\"http://isn-icn-ljm.pagesperso-orange.fr/fichiers/lycee2.csv\"\n", "csvfile = requests.get(url)\n", "csvfile = csvfile.content.decode('utf-8')\n", "etablissement = list(csv.reader(csvfile.splitlines(), delimiter=','))\n", "\n", "s=input(\"Entrez un nom de ville\")\n", "\n", "s=s.upper()# mise en majuscules\n", "for ligne in etablissement:\n", " if s in ligne[9]:# si s est dans le texte\n", " print(\"================================================\")\n", " print(ligne[1])\n", " print(ligne[7],\" \",ligne[5])\n", " print(ligne[8])\n", " print(ligne[9])\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "## À faire :\n", "\n", "**Votre mission :**\n", "\n", "**Reprendre le programme précédent et rajouter l'information se trouvant sur : secteur_public_prive_libe**\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Écrire le programme ici" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "## À faire :\n", "\n", "**Votre mission :**\n", "\n", "**Écrire un programme qui demande à l'utilisateur:**\n", "* Un nom de ville\n", "* Un type d'établissement : ecole, college ou lycee ( on oubliera les problèmes d'accents )\n", "\n", "**Et qui affichera les résultats**\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Écrire le programme ici" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "## À faire :\n", "\n", "**Votre mission :**\n", "\n", "**Faire, à l'aide d'un programme, afficher l'école où vous avez appris à lire**\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Écrire le programme ici" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.1" } }, "nbformat": 4, "nbformat_minor": 2 }