Pour faciliter l'exploitation, nous supprimons quelques lignes de présentation du fichier csv.
Ce qui donne ce fichier, à télécharger.
Lecture du contenu
Pour lire le contenu, exécuter le script suivant (le fichier .py
et le fichier .csv
étant dans le même dossier) :
import csv
with open('population.csv', encoding="utf-8", newline='') as f:
lecture = csv.reader(f)
for ligne in lecture :
print(ligne)
Après la ligne lecture = csv.reader(f)
, la variable
lecture
est un objet (de type _csv.reader
)
dont chaque élément est une ligne du fichier csv (enregistrée sous le type
liste). On obtient donc :
['Année de naissance', 'Âge révolu', "Nombre d'hommes", 'Nombre de femmes', 'Ensemble']
['2016', '0', '382585', '364392', '746977']
['2015', '1', '390810', '373164', '763974']
['2014', '2', '402728', '386467', '789195']
['2013', '3', '405636', '387097', '792733']
['2012', '4', '416074', '396365', '812439']
['2011', '5', '419825', '403745', '823570']
['2010', '6', '431441', '413015', '844456']
['2009', '7', '430766', '410302', '841068']
['2008', '8', '432988', '414480', '847468']
['2007', '9', '430455', '410800', '841255']
['2006', '10', '437868', '417377', '855245']
['2005', '11', '428095', '408856', '836951']
['2004', '12', '426346', '407709', '834055']
['2003', '13', '424143', '405009', '829152']
['2002', '14', '427103', '406661', '833764']
['2001', '15', '434624', '414303', '848927']
['2000', '16', '442477', '421718', '864195']
['1999', '17', '420859', '399845', '820704']
['1998', '18', '412130', '393748', '805878']
['1997', '19', '398672', '379913', '778585']
['1996', '20', '396021', '378786', '774807']
['1995', '21', '385668', '374438', '760106']
['1994', '22', '371370', '364912', '736282']
['1993', '23', '365665', '361957', '727622']
['1992', '24', '383622', '379397', '763019']
['1991', '25', '384159', '386886', '771045']
['1990', '26', '390424', '395536', '785960']
['1989', '27', '388035', '398622', '786657']
['1988', '28', '391051', '405526', '796577']
['1987', '29', '392113', '405625', '797738']
['1986', '30', '397166', '415466', '812632']
['1985', '31', '397694', '414424', '812118']
['1984', '32', '394487', '414723', '809210']
['1983', '33', '391385', '409924', '801309']
['1982', '34', '416844', '434710', '851554']
['1981', '35', '421347', '438946', '860293']
['1980', '36', '428863', '443778', '872641']
['1979', '37', '406539', '420798', '827337']
['1978', '38', '400092', '412752', '812844']
['1977', '39', '406523', '414045', '820568']
['1976', '40', '394637', '404327', '798964']
['1975', '41', '407044', '414686', '821730']
['1974', '42', '430758', '434997', '865755']
['1973', '43', '453217', '462084', '915301']
['1972', '44', '464935', '470320', '935255']
['1971', '45', '461370', '468226', '929596']
['1970', '46', '453647', '459417', '913064']
['1969', '47', '444344', '454028', '898372']
['1968', '48', '439617', '453790', '893407']
['1967', '49', '438425', '449972', '888397']
['1966', '50', '447323', '461209', '908532']
['1965', '51', '447957', '461449', '909406']
['1964', '52', '450434', '468607', '919041']
['1963', '53', '445604', '462841', '908445']
['1962', '54', '428996', '447536', '876532']
['1961', '55', '428616', '448699', '877315']
['1960', '56', '426039', '447295', '873334']
['1959', '57', '419476', '445320', '864796']
['1958', '58', '409289', '435783', '845072']
['1957', '59', '404428', '435049', '839477']
['1956', '60', '399268', '431012', '830280']
['1955', '61', '391371', '426767', '818138']
['1954', '62', '391215', '425717', '816932']
['1953', '63', '379585', '417348', '796933']
['1952', '64', '383041', '423687', '806728']
['1951', '65', '372916', '413124', '786040']
['1950', '66', '385462', '428235', '813697']
['1949', '67', '374938', '420738', '795676']
['1948', '68', '373836', '416348', '790184']
['1947', '69', '363111', '408218', '771329']
['1946', '70', '341226', '387115', '728341']
['1945', '71', '254890', '291663', '546553']
['1944', '72', '245430', '284816', '530246']
['1943', '73', '235812', '275591', '511403']
['1942', '74', '216345', '254741', '471086']
['1941', '75', '189634', '228170', '417804']
['1940', '76', '192426', '238625', '431051']
['1939', '77', '195108', '248951', '444059']
['1938', '78', '186728', '244971', '431699']
['1937', '79', '176365', '240276', '416641']
['1936', '80', '170321', '238380', '408701']
['1935', '81', '158542', '230952', '389494']
['1934', '82', '152030', '229257', '381287']
['1933', '83', '136455', '214820', '351275']
['1932', '84', '130890', '215514', '346404']
['1931', '85', '117107', '201077', '318184']
['1930', '86', '105230', '191275', '296505']
['1929', '87', '87578', '167944', '255522']
['1928', '88', '75618', '153111', '228729']
['1927', '89', '62933', '135809', '198742']
['1926', '90', '52089', '120776', '172865']
['1925', '91', '42892', '105159', '148051']
['1924', '92', '33531', '87258', '120789']
['1923', '93', '25617', '72709', '98326']
['1922', '94', '19407', '60358', '79765']
['1921', '95', '14319', '47292', '61611']
['1920', '96', '10444', '36658', '47102']
['1919', '97', '4449', '16182', '20631']
['1918', '98', '2474', '10089', '12563']
['1917', '99', '1362', '6765', '8127']
['1916 ou avant', '100 ou plus', '3015', '15617', '18632']
Exemple d'utilisation
On aimerait par exemple maintenant récupérer une liste des années de naissance
et une liste des effectifs des femmes correspondants aux années de naissance :
import csv
annees_naissance = []
effectifs_femme = []
with open('population.csv', encoding="utf-8", newline='') as f:
lecture = csv.reader(f)
for ligne in lecture :
annees_naissance.append(ligne[0])
effectifs_femme.append(ligne[3])
# on choisit de supprimer le premier élément
# qui correspondait à une ligne de titre des colonnes :
del(annees_naissance[0])
del(effectifs_femme[0])
for i in range(len(annees_naissance)) :
print("Le nombre de femmes de la population française de 2016")
print("qui sont nées en {} est égal à {}.".format(annees_naissance[i], effectifs_femme[i]))
print()
Le début de l'affichage :
Le nombre de femmes de la population française de 2016
qui sont nées en 2016 est égal à 364392.
Le nombre de femmes de la population française de 2016
qui sont nées en 2015 est égal à 373164.
Le nombre de femmes de la population française de 2016
qui sont nées en 2014 est égal à 386467.
Le nombre de femmes de la population française de 2016
qui sont nées en 2013 est égal à 387097.
Le nombre de femmes de la population française de 2016
qui sont nées en 2012 est égal à 396365.
On voit ainsi qu'il est possible de fournir aux élèves un fichier Python
dans lequel on aura initialisé des listes de données issues de données réelles
comme celles proposées par l'INSEE.
On peut alors envisager tous les traitements statistiques au programme de la
classe.