156 lines
6.5 KiB
TeX
156 lines
6.5 KiB
TeX
\documentclass[11pt,a4paper]{../../template_cours}
|
||
\usepackage{listings}
|
||
|
||
\usepackage{minted}
|
||
|
||
\title{Introduction aux données structurées — Le format CSV}
|
||
\author{Adrian Amaglio}
|
||
\def\thesequence{Données structurées}
|
||
|
||
\begin{document}
|
||
Durée : 1h
|
||
|
||
% Retours:
|
||
% Les élèves galèrent, ça ne les passionne pas, ils ont du mal à copier le CSV en ligne (il vaudrait mieux laisser tomber pandas et leur fournir le python complèt à télécharger).
|
||
% Il n’y a rien à « faire » dans le TP, juste des copier-coller sans intérêt et de la réflexion. Ça doit être rageant de bloquer sur des copier-coller
|
||
% UPDATE :
|
||
|
||
|
||
% ---
|
||
\section{Préparation}
|
||
Faire chaque activité dans un nouveau dossier est une bonne pratique dans toutes les matières et en dehors du lycée.
|
||
Prenez l’habitude de bien organiser vos dossiers pour retrouver vos documents plus tard.
|
||
\begin{exercice}
|
||
Créez un dossier nomé « tp-csv » dans votre zone personnelle.
|
||
\\
|
||
Téléchargez-y le fichier à l’adresse : \url{https://git.jean-cloud.net/adrian/cours-snt/raw/branch/master/donnees_structurees/tp_decouverte_csv/programme.py}.
|
||
\\
|
||
Ouvrez ce programme avec pyzo ou edupython.
|
||
\end{exercice}
|
||
|
||
%\begin{exercice}
|
||
% Dans ce dossier, téléchargez le fichier « noms.csv » disponible à cette adresse :
|
||
% \url{https://git.jean-cloud.net/adrian/cours-snt/raw/branch/master/donnees_structurees/tp_decouverte_csv/noms.csv}
|
||
%\end{exercice}
|
||
|
||
|
||
% ---
|
||
%\section{Découverte du format CSV}
|
||
%Un fichier CSV contient des données structurées.
|
||
%\begin{exercice}
|
||
% Ouvrez le fichier « noms.csv » avec un éditeur de texte (notepad++ ou bloc-note) puis ouvrez le avec le tableur libreoffice calc.\\
|
||
% Comparez le rendu dans les deux logiciels.
|
||
% Comment est structurée l’information ?
|
||
%\end{exercice}
|
||
|
||
|
||
% ---
|
||
%\section{Avec Python}
|
||
%Il est également possible d’écrire un programme Python qui lit un fichier CSV.
|
||
%\begin{exercice}
|
||
% Ouvrez l’éditeur de python à l’adresse \url{https://www.online-python.com}.
|
||
% Créez un nouveau fichier « noms.csv » grâce au bouton « + » :
|
||
% \includegraphics[width=\textwidth]{screen_ide.png}
|
||
% Dans ce fichier CSV, insérez le contenu du fichier CSV précédent.
|
||
%\end{exercice}
|
||
%
|
||
%\begin{exercice}
|
||
% Sur votre IDE, dans le fichier python, supprimer le code et remplacez-le par le suivant :
|
||
% \begin{minted}{Python}
|
||
%import pandas
|
||
%noms=pandas.read_csv("noms.csv")
|
||
%print(noms)
|
||
% \end{minted}
|
||
% Vous éxécuterez ensuite votre programme à l’aide du bouton « run ».
|
||
% Vous devriez avoir un affichage similaire à celui-ci :\\
|
||
% \includegraphics[]{affichage_noms.png}
|
||
%\end{exercice}
|
||
%
|
||
%\begin{exercice}
|
||
% Ajoutez à votre programme la ligne suivante :
|
||
% \begin{minted}{Python}
|
||
%print(noms.loc[1,'prenom'])
|
||
% \end{minted}
|
||
% Que fait cette instruction ?
|
||
%\end{exercice}
|
||
%
|
||
%\begin{exercice}
|
||
% Modifiez votre programme pour qu’il affiche la date de naissance de Janelle Monáe du fichier « noms.csv ».
|
||
%\end{exercice}
|
||
|
||
|
||
% ---
|
||
Depuis quelques années, l’état et les collectivités locales sont tenues de mettre des données relatives à leurs activités en libre accès.
|
||
Cette données sont dites « ouvertes » car libre d’accès pour tous et toutes.
|
||
%\begin{exercice}
|
||
% Allez à l’adresse suivante pour ouvrir un environnement python :\\\url{https://www.online-python.com}.
|
||
% \\Créez un nouveau fichier nommé exactement « centres-vaccination.csv » grâce au bouton « + » :
|
||
% \includegraphics[width=\textwidth]{screen_ide.png}
|
||
%\end{exercice}
|
||
|
||
\begin{exercice}
|
||
Rendez-vous à cette adresse :
|
||
\url{https://www.data.gouv.fr/fr/datasets/lieux-de-vaccination-contre-la-covid-19/}
|
||
\\Téléchargez le fichier CSV « centres-vaccination.csv » et copiez son contenu dans le fichier CSV « centres-vaccination.csv ».
|
||
\\Téléchargez la documentation de ce fichier, disponible sur la même page web, et essayez de comprendre la signification des trois premiers descripteurs.
|
||
\end{exercice}
|
||
|
||
Ce fichier CSV n’utilise pas la virgule comme séparateur, car c’est un caractère trop commun en français, il utilise le point virgule.
|
||
Avoir un séparateur dans un champs empêcherait un programme de le lire correctement, il aurait l’impression qu’il y a plus de valeurs que prévu.
|
||
\begin{exercice}
|
||
En bas du fichier python que vous avez téléchargé, appellez la fonction « afficher\_descripteurs » comme suit :
|
||
\begin{minted}{python}
|
||
afficher_descripteurs()
|
||
\end{minted}
|
||
Vérifiez que vous avez bien une liste de champs qui s’affiche comme sur l’exemple suivant :
|
||
\includegraphics{liste_descripteurs.png}
|
||
\end{exercice}
|
||
|
||
%\begin{exercice}
|
||
% Pour lire ce nouveau fichier, copiez ces lignes de Python dans le fichier « main.py » de l’environnement, en ayant supprimé son contenu avant.
|
||
% Puis exécutez le en cliquant sur « Run ».
|
||
% \begin{minted}{Python}
|
||
%import pandas
|
||
%centres=pandas.read_csv("centres-vaccination.csv", sep=";")
|
||
%print(centres)
|
||
% \end{minted}
|
||
%\end{exercice}
|
||
%Vous pouvez constater que l’affichage est tronqué pour éviter d’envahir l’écran.
|
||
|
||
% ---
|
||
\section{Identifier un problème social}
|
||
|
||
\begin{exercice}
|
||
La ligne suivante permet de compter le nombre de valeurs renseignées pour chaque champs :
|
||
\begin{minted}{Python}
|
||
afficher_compte_colonnes()
|
||
\end{minted}
|
||
Quels sont les trois champs les moins renseignés ? Cela vous semble t’il normal ?
|
||
\end{exercice}
|
||
|
||
|
||
% ---
|
||
\section{Identifier les incohérences techniques}
|
||
|
||
% ---
|
||
\begin{exercice}
|
||
Remplacez votre affichage par le code suivant :
|
||
\begin{minted}{Python}
|
||
afficher_contenu_colonne('lieu_accessibilite')
|
||
\end{minted}
|
||
Il permet d’afficher les différentes valeurs reseignées dans le champs « lieu\_accessibilite » et le nombre de fois qu’elles apparaissent dans le fichier CSV.
|
||
\\Selon vous, pourquoi les valeurs sont aussi hétérogènes ? Quelles valeurs devrait-on pouvoir trouver dans ce champs selon la documentation disponible avec le fichier CSV ?
|
||
\end{exercice}
|
||
|
||
\begin{exercice}
|
||
L’URL suivante est extraite du fichier CSV et permet de réserver dans un centre de vaccination :
|
||
\\\url{https://partners.doctolib.fr/centre-depistage-covid/chateauroux/centre-de-vaccination-covid-ssr-chateauroux-36?speciality_id=5494&enable_cookies_consent=1}
|
||
\\Les paramètres qui sont passés à la page via cette url sont les suivants :
|
||
\\speciality\_id=5494
|
||
\\enable\_cookies\_consent=1
|
||
\\Que peut signifier le dernier paramètre ? Quelles implications peut-il avoir ?
|
||
\end{exercice}
|
||
|
||
|
||
\end{document}
|