• Aucun résultat trouvé

Les fichiers CSV

N/A
N/A
Protected

Academic year: 2022

Partager "Les fichiers CSV"

Copied!
4
0
0

Texte intégral

(1)

LGT Saint-Exupéry, Mantes-la-Jolie

Fiche méthode 1ère NSI – Les fichiers CSV 1/4

Objectifs :

✓ Connaitre la structure d’un fichier CSV

✓ Savoir importer une table depuis un fichier CSV

✓ Utiliser un tableau doublement indexé ou un tableau de p-uplets qui partagent le même descripteur

Mémoriser des données dans le but de les conserver, de les traiter ultérieurement est une nécessité dans de très nombreux domaines d’activité. Il existe un format international, le Comma-Separated Values, plus connu sous l’acronyme CSV, qui permet de stocker des données sous formes de valeurs séparées par des virgules.

La clé USB a été inventée en 1988. Elle contient une mémoire flash qui permet de stocker de grandes quantités de données facilement accessibles.

Les principes

✓ Un fichier CSV est un fichier texte, par opposition aux formats dits « binaires ».

Chaque ligne du texte correspond à une ligne du tableau et les virgules correspondent aux séparations entre les colonnes.

✓ Les portions de texte séparées par une virgule correspondent ainsi aux contenus des cellules d’un tableau.

Une ligne est une suite ordonnée de caractères terminée par un caractère de fin de ligne (retour à la ligne).

✓ La plupart des logiciels Tableurs (Microsoft Excel, LibreOffice Calc, Corel Quattro Pro, Lotus 123…) lisent correctement les fichiers CSV et sont capables d’exporter leurs tableaux en CSV.

✓ La première ligne d’un fichier CSV peut contenir la liste des descripteurs, c’est la dire les entêtes de colonnes des données présentes dans le fichier.

Remarque : plusieurs formats dérivés du « CSV pur » ont vu le jour, en particulier en France où la virgule est réservée pour les nombres décimaux, les séparateurs « virgule » sont alors remplacés par d’autres caractères : point-virgule, tabulation, barre verticale (tube/pipe)…

Attention : si les données stockées sont des champs texte, ils doivent également être délimités par des guillemets.

Lorsqu'un champ contient lui-même des guillemets, ils sont doublés afin de ne pas être considérés comme début ou fin du champ.

Activité

1. Récupérer le fichier villes.csv et l’enregistrer sur votre compte.

2. Ouvrir le fichier avec un éditeur de texte. Identifier le nom des descripteurs des différentes données.

3. Ouvrir le fichier avec le tableur de votre choix. Noter le numéro de la ligne dans lequel vous trouverez les données sur la ville dans laquelle vous habitez.

Les fichiers CSV

(2)

LGT Saint-Exupéry, Mantes-la-Jolie

Fiche méthode 1ère NSI – Les fichiers CSV 2/4

Structure

En ouvrant un fichier CSV avec un simple éditeur de texte, nous pouvons obtenir :

En ouvrant le même fichier dans un tableur, nous obtenons :

Document 1 : exemple de structure d’un fichier CSV et ouverture dans un tableur

Saut de ligne Ligne des descripteurs

Séparateur « virgule »

Données correspondant aux descripteurs, séparées par des virgules

(3)

LGT Saint-Exupéry, Mantes-la-Jolie

Fiche méthode 1ère NSI – Les fichiers CSV 3/4

Lecture/Ecriture d’un fichier CSV avec Python

L’utilisation d’un fichier ressemble beaucoup à l’utilisation d’un livre.

Utilisation d’un livre dans la vie courante

Utilisation d’un fichier texte avec Python

Trouver le livre (à l’aide de son titre), puis l’ouvrir

f = open(nom_fichier, mode, encodage)

✓ nom_fichier = chemin (si non précisé, le répertoire courant du script Python → consulter le module os.path) et nom du fichier avec son extension

✓ mode = mode d’ouverture :

▪ r : lecture (read)

▪ w : écriture (write) – Attention : si un fichier du même nom existe déjà il est effacé !

▪ a : ajout (append). Si le fichier n'existe pas Python le crée.

✓ encodage = encodage des caractères pour les fichiers textes utf8, ascii, latin1, etc.

Si le fichier n’existe pas, Python retourne une erreur → pensez à gérer les exceptions (voir Zoom « Gérer les exceptions »)

Tant qu’il est ouvert, vous pouvez y lire des informations diverses

✓ Méthode read(n) : lit n caractères (sans argument, la totalité du fichier est lu) → stockage dans une chaine de caractères.

✓ Méthode readline() : ne lit qu’une seule ligne à la fois (en incluant le caractère de fin de ligne) → stockage dans une chaine de caractères.

✓ Méthode readlines() : lit la totalité du fichier (en réalité toutes les lignes restantes si les méthodes read et readline ont été utilisées au préalable) → stockage en une liste

Vous pouvez y écrire des notes personnelles

Méthode write(txt) : écrit le texte txt dans le fichier. Ces données sont enregistrées dans le fichier les unes à la suite des autres (On parle alors de fichier à accès séquentiel).

Le marqueur \n de fin de ligne peut être inséré dans les chaines de caractères, aux endroits où l’on souhaite séparer les lignes de texte dans l’enregistrement.

Après utilisation, refermer le livre f.close()

Remarque :

Il existe une autre syntaxe plus courte qui permet de s'émanciper du problème de fermeture du fichier : utiliser le mot clé with.

Exemple : pour afficher tout le contenu d’un fichier :

with open("fichier.txt", "r") as fichier:

print fichier.read()

(4)

LGT Saint-Exupéry, Mantes-la-Jolie

Fiche méthode 1ère NSI – Les fichiers CSV 4/4

Exemple de lecture

Si le fichier « fichier.csv » contient :

Le script suivant montre quelques exemple d’utilisation des 3 méthodes de lecture : f = open('fichier.csv','r')

txt = f.readline() print(txt)

ligne 1

print(f.readline()) ligne 2

t = f.readlines() print(t)

['ligne 3 \n', 'ligne 4\n']

f.close()

Remarques :

✓ La liste apparait ci-dessus en format brut, avec des apostrophes pour délimiter les chaines, et les caractères spéciaux sous leur forme conventionnelle. Vous pourrez bien évidemment parcourir cette liste (à l’aide d’une boucle while, par exemple) pour en extraire les chaines individuelles.

✓ La méthode readlines() permet donc de lire l’intégralité d’un fichier en une instruction seulement. Cela n’est possible toutefois que si le fichier à lire n’est pas trop gros tout est alors stocké dans la mémoire vive de l’ordinateur, il faut que la taille de celle-ci soit suffisante. Si vous devez traiter de gros fichiers, utilisez plutôt la méthode readline() dans une boucle.

Zoom : Gérer les exceptions

Une exception est l’opération qu’effectue l’interpréteur Python lorsqu’une erreur est détectée au cours de l’exécution du programme.

Exemple typique : la division par zéro print(14/0)

ZeroDivisionError : int division or modulo by zero

S’il est possible – et souhaitable – de prévoir à l’avance certaines erreurs en incluant des tests préalables, il est impossible de prévoir toutes les combinaisons (surtout s’il y a des saisies utilisateurs).

Dans les langages de niveau élevé, il est possible d’ajouter un mécanisme de surveillance à un bloc d’instructions : c’est le mécanisme de traitement des exceptions.

Syntaxe sous Python : try/except/else try:

Instructions except:

Instruction à exécuter si une erreur se présente dans le bloc « try » else:

(Facultatif) Instructions à exécuter si aucun passage par except

Références

Documents relatifs

On ne peut donc faire aucun calcul avec, il faut alors convertir cette variable en nombre entier avec la commande int(nom_variable). Modifier le programme pour afficher maintenant

Si l’on devait faire un parallèle, il faudrait comparer ces valeurs avec ceux de l’ACP où on ne tenait pas compte de l’endogène pour élaborer les axes factoriels : nous

Nous introduisons maintenant le composant UNIVARIATE DISCRETE STAT (onglet STATISTICS) dans le diagramme, à la suite du DEFINE STATUS.. Nous activons menu VIEW pour accéder

Emplacement, Nom et Extension du fichier à ouvrir Si ce nom de fichier n'existe pas => création du fichier Instruction PHP pour écrire dans un fichier.. Variable de connexion

Le bien-être à l’école • 73% des adolescents déclarent se sentir bien à l’école, • 47% des adultes pensent qu’en général, les adolescents se sentent bien à l’école

[r]

A partir du lundi 15 février 2021 jusqu’au jeudi 4 mars 2021, entre 07.00 heures et 16.00 heures, tout stationnement/parcage de véhicules est interdit à Alzingen, dans la rue

À notre connaissance, la métaphore du colloque scientifique a été peu utilisée pour structurer une situation de e-learning, bien qu’on retrouve, dans la littérature sur