Fichier csv et tableur
Le format CSV (pour comma separated values, soit en français valeurs séparées par des virgules) est un format très utilisé pour représenter des données structurées, notamment pour importer ou exporter des données à partir d’une feuille de calculs d’un tableur. C’est un fichier texte dans lequel chaque ligne correspond à une ligne du tableau
Excel vous proposera des options pour ouvrir correctement le fichier CSV . Vous pouvez en particulier choisir le séparateur , ici la virgules ( , ) :
Dans ce format, chaque ligne représente un enregistrement c’est à dire une structure de données, de types éventuellement différents auxquels on accède grâce à un nom et, sur une même ligne, les différents champs de l’enregistrement sont réparés par une virgule (d’où le nom).
Import d’un fichier csv
La bibliothèque CSV
implémente des classes pour lire des données tabulaires au format CSV
La fonction READER()
du module csv renvoie un objet de type CSV.READER
qui est itérable. Chaque élément de cet objet est une liste.
La fonction DictReader
du module csv renvoie un objet de type csv.DictReader
itérable aussi. Chaque élément de cet objet est un dictionnaire ordonné : c’est un dictionnaire qui mémorise l’ordre d’insertion des clés. Les éléments de la première ligne du fichier csv (appelés noms de champ ou descripteur) se retrouvent être les clés de ce dictionnaire.
La commande with open(...) as ...
Il existe en Python une commande qui permet d’ouvrir un fichier csv sans obligation de le fermer à la fin de l’exécution la commande gère la fermeture).
En python en enregistrement peut-être représenté par un dictionnaire:
{'Prénom':'Romane','Née':'25/11/2005','Classe':'1G1','Lycée':'Mauriac'}
Et un fichier csv par une liste de dictionnaires, dont les clés sont les noms des colonnes:
[{'Nom':'Baron','Prénom':'Paul','NSI':'18','Physique':'16','Maths':'15'}, {'Nom':'Taillant','Prénom':'Greg','NSI':'1','Physique':'3','Maths':'5'}, [{'Élève,Né[e]le,Classe,Lycée,Potions,Botanique,étude des Moldus,Sortilèges,Vol sur Balai': 'Romane,25/11/2005,1G1,Mauriac,, ,,,'}, {'Élève,Né[e]le,Classe,Lycée,Potions,Botanique,étude des Moldus,Sortilèges,Vol sur Balai': 'Giovanny,20/02/2004,1G10,Mauriac,,,,,'}, {'Élève,Né[e]le,Classe,Lycée,Potions,Botanique,étude des Moldus,Sortilèges,Vol sur Balai': 'Carla,14/01/2005,1G10,Mauriac,,,,,'}, {'Élève,Né[e]le,Classe,Lycée,Potions,Botanique,étude des Moldus,Sortilèges,Vol sur Balai': 'Tom,15/08/2005,1G10,Mauriac,,,,,'}, {'Élève,Né[e]le,Classe,Lycée,Potions,Botanique,étude des Moldus,Sortilèges,Vol sur Balai': 'Olga,05/05/2005,1G10,Mauriac,,,,,'}, {'Élève,Né[e]le,Classe,Lycée,Potions,Botanique,étude des Moldus,Sortilèges,Vol sur Balai': 'Romain,29/04/2005,1G11,Mauriac,,,,,'}, {'Élève,Né[e]le,Classe,Lycée,Potions,Botanique,étude des Moldus,Sortilèges,Vol sur Balai': 'Raphaëlle,20/04/2005,1G2,Mauriac,,,,,'}, {'Élève,Né[e]le,Classe,Lycée,Potions,Botanique,étude des Moldus,Sortilèges,Vol sur Balai': 'Lisa,29/11/2005,1G4,Mauriac,,,,,'}, {'Élève,Né[e]le,Classe,Lycée,Potions,Botanique,étude des Moldus,Sortilèges,Vol sur Balai': 'Matthieu,15/07/2005,1G7,Mauriac,,,,,'}, {'Élève,Né[e]le,Classe,Lycée,Potions,Botanique,étude des Moldus,Sortilèges,Vol sur Balai': 'Zakaria,06/10/2005,1G7,Mauriac,,,,,'}, {'Élève,Né[e]le,Classe,Lycée,Potions,Botanique,étude des Moldus,Sortilèges,Vol sur Balai': 'Lukas,07/07/2005,1G7,Mauriac,,,,,'}, {'Élève,Né[e]le,Classe,Lycée,Potions,Botanique,étude des Moldus,Sortilèges,Vol sur Balai': 'Maxence,24/10/2005,1G7,Mauriac,,,,,'}, {'Élève,Né[e]le,Classe,Lycée,Potions,Botanique,étude des Moldus,Sortilèges,Vol sur Balai': 'Kélya,30/03/2005,1G9,Mauriac,,,,,'}, {'Élève,Né[e]le,Classe,Lycée,Potions,Botanique,étude des Moldus,Sortilèges,Vol sur Balai': 'Anna,28/10/2005,1G9,Mauriac,,,,,'}, {'Élève,Né[e]le,Classe,Lycée,Potions,Botanique,étude des Moldus,Sortilèges,Vol sur Balai': 'Jean-Lou,12/01/2005,1G9,Mauriac,,,,,'}, {'Élève,Né[e]le,Classe,Lycée,Potions,Botanique,étude des Moldus,Sortilèges,Vol sur Balai': 'Harry Potter,29/11/2005,1G1,Poudlard,,,,,'}, {'Élève,Né[e]le,Classe,Lycée,Potions,Botanique,étude des Moldus,Sortilèges,Vol sur Balai': 'Hermione,20/04/2005,1G1,Poudlard,,,,,'}, {'Élève,Né[e]le,Classe,Lycée,Potions,Botanique,étude des Moldus,Sortilèges,Vol sur Balai': 'Ronald,07/07/2005,1G2,Poudlard,,,,,'}, {'Élève,Né[e]le,Classe,Lycée,Potions,Botanique,étude des Moldus,Sortilèges,Vol sur Balai': 'Weasley,15/08/2005,1G7,Poudlard,,,,,'}, {'Élève,Né[e]le,Classe,Lycée,Potions,Botanique,étude des Moldus,Sortilèges,Vol sur Balai': 'Neville,14/01/2005,1G7,Poudlard,,,,,'}, {'Élève,Né[e]le,Classe,Lycée,Potions,Botanique,étude des Moldus,Sortilèges,Vol sur Balai': 'Malefoy,30/03/2005,1G1,Poudlard,,,,,'}]{'Nom':'Gourdy','Prénom':'Zoé','NSI':'14','Physique':'13','Maths':'16'}]
https://colab.research.google.com/drive/1ca90R_tBdOrwjjJcEFaheJQTH4CjLkis?usp=sharing
import plotly.graph_objects as go radar = go.Scatterpolar(r = [eleves[15][val] for val in matières],theta = matières,fill = 'toself') data = [radar] fig = go.Figure(data = data) fig.update_layout(title_text = eleves[15]['Élève']) fig.show()
Ce dernier Scripte va permettre d’afficher les notes sur un diagramme Camembert .
Aucune réponse