{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "

DONNÉES STRUCTURÉES\n", "ET LEUR TRAITEMENT

SNT

ÉTUDE D'UN FICHIER AU FORMAT CSV

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " Écrire votre nom ici\n", " \n", " Nom : \n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### QU'EST-CE QUE LE FORMAT CSV ?\n", "\n", "\n", "- Les données doivent être structurées, c'est-à-dire organisées, pour permettre leur tri, leur exploitation, leur échange, leur stockage.\n", "
\n", " Le sigle CSV désigne un format libre qui signifie Comma-Separated Values. Il s'agit d'un fichier informatique de données structurées, dont les valeurs sont généralement séparées par des virgules ou des points-virgules (comma signifie virgule en anglais).\n", "
\n", "\n", "- Les tableurs tels $\\texttt{Excel}$ (Microsoft) ou $\\texttt{Calc}$ (LibreOffice) sont capables d'importer et exporter des fichiers CSV.\n", "\n", "- Les langages tels que $\\texttt{PHP}$ et $\\texttt{Python}$ sont capables d'importer et de travailler sur les fichiers CSV.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", " \n", " \n", " \n", "

EXERCICE ET VOCABULAIRE

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Le RMS Titanic est un paquebot transatlantique britannique qui a fait naufrage dans l'océan Atlantique Nord en\n", "1912 à la suite d'une collision avec un iceberg, lors de son voyage inaugural de Southampton à New York. Cet événement est l'une des plus grandes catastrophes maritimes survenues en temps de paix.\n", "\n", "Le fichier S2-titanic.csv présente des données sur plus de 1300 passagers du Titanic." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### À faire :\n", "Ouvrir le fichier S2-titanic.csv avec un éditeur de texte.\n", "\n", "La première ligne du fichier correspond aux descripteurs, c'est-à-dire aux titres des colonnes de classement :\n", "\n", "— Donner le nombre de descripteurs du fichier\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#Votre réponse ici" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "— Citer les descripteurs." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#Votre réponse ici" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "— Quel symbole est le séparateur ?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#Votre réponse ici" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", " \n", " \n", " \n", "

PARTIE 1 : ÉTUDE DU FICHIER CSV AVEC LIBREOFFICE

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### À faire :\n", "Ouvrir le fichier S2-titanic.csv avec LibreOffice. À l'ouverture cocher uniquement le bon séparateur.\n", "\n", "— Pour le descripteur \"sexe\", à quoi correspond la valeur 1 ?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#Votre réponse ici" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "— Sachant que Andrews, Mr. Thomas Jr n'a pas survécu au naufrage, pour le descripteur \"survie\", à quoi correspond la valeur 1 ?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#Votre réponse ici" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "— Choisir le 8ème objet du fichier (c'est-à-dire le 8è passager) et rédiger une phrase le décrivant." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#Votre réponse ici" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "— En insérant une commande de la forme $\\texttt{= MOYENNE(...)}$ dans une cellule bien choisie, déterminer le prix moyen d'un billet à bord du Titanic." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#Votre réponse ici" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Créer un AutoFiltre sur la première ligne puis :\n", "— Déterminer le tarif le plus élevé :" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#Votre réponse ici" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "— Déterminer le nombre de femmes présentes à bord :" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#Votre réponse ici" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "— Trier les données afin de compléter le tableau suivant :" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "| Tarif (£) | [0 ;50[ | [50 ;100[ | [100 ;150[ | [150 ;200[ | [200 ;250[ | [250 ;300[ | [300 ;350[ | [350 ;400[ | [350 ;400[ | [450 ;500[ | [500 ;550[ |\n", "|:---------:|:-------:|:---------:|:----------:|:----------:|:----------:|:----------:|:----------:|:----------:|:----------:|:----------:|:----------:|\n", "| Effectif | ... | 161 | 33 | 13 | 21 | ... | 0 | 0 | 0 | 0 | ... |" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", " \n", " \n", " \n", "

PARTIE 2 : ÉTUDE DU FICHIER CSV AVEC PYTHON

" ] }, { "cell_type": "markdown", "metadata": { "scrolled": true }, "source": [ "##### À faire :\n", "Enregistrer le fichier S2-titanic.csv dans le même répertoire que ce notebook puis exécuter le programme suivant :" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import csv #on importe la bibliothèque (ou module) csv\n", "\n", "fichier_csv = open(\"S2-titanic.csv\", \"r\") #on ouvre le fichier S2-titanic.csv\n", "csv_passagers= csv.reader(fichier_csv, delimiter=\";\") #le délimiteur est le \";\"\n", "numero = 0\n", "for ligne in csv_passagers: #on parcourt toutes les lignes du fichier\n", " if numero == 0: #la ligne numéro 0 :\n", " print(\"Descripteurs :\") #les decripteurs\n", " print(ligne)\n", " else: #les autres lignes :\n", " print(\"Données :\") #des données\n", " print(ligne)\n", " numero = numero+1\n", " \n", "print(\"total :\",numero, \"passagers\") #on a compté tous les passagers\n", "fichier_csv.close() #on ferme le fichier S2-titanic.csv" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Il peut-être intéressant d'avoir des informations sur un seul passager.\n", "— Éxécuter le programme modifier ci-dessous :" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import csv\n", "fichier_csv = open(\"S2-titanic.csv\", \"r\")\n", "csv_passagers= csv.reader(fichier_csv, delimiter=\";\")\n", "numero = 0\n", "for ligne in csv_passagers:\n", " if numero == 800:\n", " print(\"passager numéro :\", numero)\n", " print(ligne)\n", " break #inutile de continuer le for\n", " numero=numero+1\n", "\n", "fichier_csv.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "— Modifier le programme précédent afin d'obtenir des informations sur le 1197è passager." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Votre programme modifié ici" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " Chaque ligne de données est de la forme : $\\texttt{['3', '1', 'Sheerlinck, Mr. Jan Baptist', '1', '29', '10']}$\n", "\n", "Cette ligne peut être analysée ainsi :\n", "\n", "| Rang dans la ligne | 0 | 1 | 2 | 3 | 4 | 5 |\n", "|:------------------:|:------:|:------:|:---------------------------:|:----:|:---:|:-----:|\n", "| Descripteur | classe | survie | nom | sexe | age | tarif |\n", "| Type de variable | int | int | chaîne de caractères | int | int | float |\n", "| Valeur | 3 | 1 | Sheerlinck, Mr. Jan Baptist | 1 | 29 | 10 |\n", "\n", "- Pour obtenir le tarif de cette ligne, il suffit d'écrire $\\, \\texttt{float(ligne[5])}$\n", "- Pour obtenir le nom de cette ligne, il suffit d'écrire $\\, \\texttt{ligne[2]}$\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "###### Le programme suivant compte nombre de passagers de 3ème classe." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import csv\n", "fichier_csv = open(\"S2-titanic.csv\", \"r\")\n", "csv_passagers= csv.reader(fichier_csv, delimiter=\";\")\n", "numero = 0\n", "compteur = 0\n", "for ligne in csv_passagers:\n", " if numero >= 1:\n", " if (int(ligne[0]) == 3) :\n", " compteur = compteur +1\n", " numero=numero+1\n", "\n", "fichier_csv.close()\n", "print(\"Nombre de passagers de 3ème classe : \", compteur)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "— Modifier le programme afin qu'il compte le nombre de femmes." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Votre programme modifié ici" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "— Modifier à nouveau afin qu'il calcule les ages du plus jeune passager et du plus vieux passager." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Votre programme modifié ici" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "— Modifier à nouveau afin qu'il calcule le tarif moyen d'un billet." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Votre programme modifié ici" ] } ], "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.7.3" } }, "nbformat": 4, "nbformat_minor": 2 }