Une table est une structure de données organisée en lignes et colonnes. Un fichier CSV (Comma-Separated Values) stocke des données tabulaires sous forme de texte, avec les valeurs séparées par des virgules.
L'importation de CSV permet de charger ces données dans un programme pour les analyser ou les manipuler facilement.
En programmation, une liste de listes est une structure de données qui permet de stocker des éléments sous forme de tableaux à plusieurs dimensions. Chaque élément de la liste principale est en fait une liste elle-même.
Création d'une Liste de Listes
Pour créer une liste de listes en Python, vous pouvez simplement imbriquer des listes. Chaque sous-liste représente une rangée ou une dimension.
liste_de_listes = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
Accéder aux Éléments
Vous pouvez accéder aux éléments d'une liste de listes en utilisant des indices multiples. Utilisez d'abord l'indice de la sous-liste, puis l'indice de l'élément à l'intérieur de la sous-liste.
element = liste_de_listes[1][2] # Accès à la deuxième sous-liste, troisième élément
Modification d'Éléments
Vous pouvez également modifier les éléments de la liste de listes de la même manière qu'un tableau à une dimension.
liste_de_listes[0][1] = 99 # Modification du deuxième élément de la première sous-liste
Parcourir une Liste de Listes
Utilisez des boucles imbriquées pour parcourir tous les éléments d'une liste de listes.
for sous_liste in liste_de_listes:
for element in sous_liste:
print(element)
Stocker cette liste de listes en Python .
Nom | Prénom | âge |
---|---|---|
Durand | Jean | 32 |
Vignu | Mauricette | 89 |
Vignu | Capucine | 9 |
Vander | Louise | 17 |
Écrivez une fonction est_present
qui prend en entrée une liste de listes de caractères ainsi qu'un
caractère et renvoie True
si ce caractère est présent et False
sinon.
Par exemple, pour cette liste :
alphabet_listes = [
['D', 'B', 'C'],
['F', 'A', 'E'],
['H', 'G', 'I']
]
On aura :
>>> est_present(alphabet_listes,'E')
True
>>> est_present(alphabet_listes,"Z")
False
Compléter une fonction somme_des_sous_listes
prenant comme paramètre une liste de listes de 20
nombres et renvoyant une liste contenant la somme de chaque sous_liste.
def somme_des_sous_listes(liste):
sommes = []
for sous_liste in liste:
somme=0
for element in sous_liste:
..................
sommes.append(.............)
return sommes
On pourra tester notre programme sur la liste suivante :
listes_de_nbs = [
[871, 234, 689, 527, 412, 932, 165, 633, 972, 499, 286, 440, 729, 160, 898, 285, 657, 776, 799, 832],
[810, 369, 991, 469, 147, 933, 657, 305, 785, 376, 603, 617, 361, 732, 774, 864, 515, 609, 275, 739],
[831, 210, 573, 804, 220, 872, 706, 691, 896, 748, 119, 463, 492, 417, 935, 963, 707, 543, 860, 271],
[223, 763, 181, 847, 217, 968, 165, 215, 484, 551, 620, 878, 392, 120, 754, 485, 444, 392, 292, 225],
[180, 389, 525, 871, 556, 241, 581, 720, 637, 853, 480, 500, 183, 920, 288, 878, 364, 414, 194, 480],
[657, 168, 197, 964, 470, 848, 524, 700, 580, 172, 257, 813, 899, 784, 874, 238, 462, 713, 248, 785],
[582, 907, 199, 312, 256, 737, 299, 210, 493, 912, 931, 398, 666, 800, 982, 931, 900, 341, 117, 899],
[880, 226, 767, 586, 180, 918, 457, 609, 102, 274, 183, 291, 882, 364, 378, 822, 498, 190, 960, 213],
[949, 243, 906, 297, 600, 223, 370, 468, 757, 791, 973, 646, 931, 516, 707, 806, 781, 414, 434, 977],
[775, 526, 550, 819, 830, 739, 898, 139, 921, 355, 274, 259, 919, 434, 924, 221, 697, 193, 769, 182]
]
On aura :
>>> somme_des_sous_listes(listes_de_nbs)
[11796, 11931, 12321, 9216, 10254, 11353, 11872, 9780, 12789, 11424]
Ecrire une fonction Python appelée calculer_moyenne_listes
qui prend une liste de listes de
nombres en entrée et renvoie une liste contenant les moyennes de chaque sous-liste.
Ecrire une fonction plus_grand
prenant comme paramètre une liste de listes de 20 nombres et
renvoyant
le plus grand nombre contenu dans ces sous-listes.
On pourra tester notre programme sur la liste suivante :
listes_de_nbs = [
[871, 234, 689, 527, 412, 932, 165, 633, 972, 499, 286, 440, 729, 160, 898, 285, 657, 776, 799, 832],
[810, 369, 991, 469, 147, 933, 657, 305, 785, 376, 603, 617, 361, 732, 774, 864, 515, 609, 275, 739],
[831, 210, 573, 804, 220, 872, 706, 691, 896, 748, 119, 463, 492, 417, 935, 963, 707, 543, 860, 271],
[223, 763, 181, 847, 217, 968, 165, 215, 484, 551, 620, 878, 392, 120, 754, 485, 444, 392, 292, 225],
[180, 389, 525, 871, 556, 241, 581, 720, 637, 853, 480, 500, 183, 920, 288, 878, 364, 414, 194, 480],
[657, 168, 197, 964, 470, 848, 524, 700, 580, 172, 257, 813, 899, 784, 874, 238, 462, 713, 248, 785],
[582, 907, 199, 312, 256, 737, 299, 210, 493, 912, 931, 398, 666, 800, 982, 931, 900, 341, 117, 899],
[880, 226, 767, 586, 180, 918, 457, 609, 102, 274, 183, 291, 882, 364, 378, 822, 498, 190, 960, 213],
[949, 243, 906, 297, 600, 223, 370, 468, 757, 791, 973, 646, 931, 516, 707, 806, 781, 414, 434, 977],
[775, 526, 550, 819, 830, 739, 898, 139, 921, 355, 274, 259, 919, 434, 924, 221, 697, 193, 769, 182]
]
Nous appellerons "table" une structure de données comportant des données.
Dans ce chapitre, dans Python, une table sera soit :
Comme par exemple :
Nom | Prénom | âge |
---|---|---|
Durand | Jean | 32 |
Vignu | Mauricette | 89 |
Vignu | Capucine | 9 |
Vander | Louise | 17 |
Le format csv est un format de fichier permettant de stocker et lire des tables de données.
C'est un format très utilisé car de nombreux logiciels peuvent lire et écrire dans ce format ce qui permet l'échange de données.
Le langage Python permet d'accéder au contenu d'un fichier csv à l'aide de la bibliothèque csv.
Les commandes sont un peu complexes au début donc les voici :
import os
os.chdir("U:\\") # a modifier
import csv
def export_vers_csv(nom_fichier,liste):
with open(nom_fichier, 'w',encoding='utf-8',newline='') as fichier:
writer = csv.writer(fichier)
writer.writerows(liste)
def import_depuis_csv(nom_fichier):
liste=[]
with open(nom_fichier, 'r',encoding='utf-8',newline='') as fichier:
reader=csv.reader(fichier)
for ligne in reader:
liste.append(ligne)
return liste
nb_eleve(liste)
qui retourne le nombre d'élèves.