CSV et Tupple

CSV et Tupple - Python - Programmation

Marsh Posté le 05-12-2020 à 17:00:09    

Bonjour à tous,  
 
je dois récupérer les données d'un fichier CSV qui contient des établissement scolaire France, en voici un extrait du csv :  
numero_uai;appellation_officielle;denomination_principale;patronyme_uai;secteur_public_prive_libe;adresse_uai;lieu_dit_uai;boite_postale_uai;code_postal_uai;localite_acheminement_uai;libelle_commune;coordonnee_x;coordonnee_y;epsg;latitude;longitude;appariement;localisation;nature_uai;nature_uai_libe;etat_etablissement;etat_etablissement_libe;code_departement;code_region;code_academie;code_commune;libelle_departement;libelle_region;libelle_academie;position;secteur_prive_code_type_contrat;secteur_prive_libelle_type_contrat;code_ministere;libelle_ministere;date_ouverture
0010134R;Ecole maternelle Centre;ECOLE MATERNELLE PUBLIQUE;CENTRE;Public;55 rue du Mont Blanc;;;01220;DIVONNE LES BAINS;Divonne-les-Bains;941596.6;6588731.4;EPSG:2154;46.35523174398531;6.142799430682985;Parfaite;Numéro de rue;101;ECOLE MATERNELLE;1;OUVERT;01;84;10;01143;Ain;Auvergne-Rhône-Alpes;Lyon;46.355231744,6.14279943068;99;SANS OBJET;06;MINISTERE DE L'EDUCATION NATIONALE;1966-10-27
0260419P;Ecole primaire St Michel sur Savasse;ECOLE ELEMENTAIRE PUBLIQUE;;Public;;LE VILLAGE;;26750;ST MICHEL SUR SAVASSE;Saint-Michel-sur-Savasse;866656.6;6451729.4;EPSG:2154;45.14471414809119;5.1206803834576045;Correcte;Ville;151;ECOLE DE NIVEAU ELEMENTAIRE;1;OUVERT;26;84;08;26319;Drôme;Auvergne-Rhône-Alpes;Grenoble;45.1447141481,5.12068038346;99;SANS OBJET;06;MINISTERE DE L'EDUCATION NATIONALE;1966-11-16
0260631V;Ecole maternelle Montchorel;ECOLE MATERNELLE PUBLIQUE;MONTCHOREL;Public;Place Montchorel;;;26100;ROMANS SUR ISERE;Romans-sur-Isère;861275.3;6440412.0;EPSG:2154;45.04412711173123;5.048500204949255;Parfaite;Numéro de rue;101;ECOLE MATERNELLE;1;OUVERT;26;84;08;26281;Drôme;Auvergne-Rhône-Alpes;Grenoble;45.0441271117,5.04850020495;99;SANS OBJET;06;MINISTERE DE L'EDUCATION NATIONALE;1966-09-22
0260958A;Ecole maternelle;ECOLE MATERNELLE PUBLIQUE;GERMAINE CHESNEAU;Public;;LE VILLAGE;;26380;PEYRINS;Peyrins;861066.3;6445887.7;EPSG:2154;45.093462055474;5.0476499075845895;Correcte;Ville;101;ECOLE MATERNELLE;1;OUVERT;26;84;08;26231;Drôme;Auvergne-Rhône-Alpes;Grenoble;45.0934620555,5.04764990758;99;SANS OBJET;06;MINISTERE DE L'EDUCATION NATIONALE;1972-06-10
0260966J;Ecole élémentaire Jean Monin;ECOLE ELEMENTAIRE PUBLIQUE;JEAN MONIN;Public;Rue Emile Ollivier;;;26100;ROMANS SUR ISERE;Romans-sur-Isère;861730.9;6441758.3;EPSG:2154;45.056138357756836;5.054729458832825;Parfaite;Numéro de rue;151;ECOLE DE NIVEAU ELEMENTAIRE;1;OUVERT;26;84;08;26281;Drôme;Auvergne-Rhône-Alpes;Grenoble;45.0561383578,5.05472945883;99;SANS OBJET;06;MINISTERE DE L'EDUCATION NATIONALE;1972-06-10
0260970N;Ecole publique La Pierrotte;ECOLE ELEMENTAIRE PUBLIQUE;LA PIERROTTE;Public;Rue de Coalville;;;26100;ROMANS SUR ISERE;Romans-sur-Isère;862478.8;6441135.9;EPSG:2154;45.05036064539567;5.064020280024979;Parfaite;Numéro de rue;151;ECOLE DE NIVEAU ELEMENTAIRE;1;OUVERT;26;84;08;26281;Drôme;Auvergne-Rhône-Alpes;Grenoble;45.0503606454,5.06402028002;99;SANS OBJET;06;MINISTERE DE L'EDUCATION NATIONALE;1972-06-10
0261165A;Ecole maternelle;ECOLE MATERNELLE PUBLIQUE;;Public;Rue des Orangers;;;26750;GENISSIEUX;Génissieux;864072.1;6445009.5;EPSG:2154;45.084849246983964;5.085550485384166;Parfaite;Numéro de rue;101;ECOLE MATERNELLE;1;OUVERT;26;84;08;26139;Drôme;Auvergne-Rhône-Alpes;Grenoble;45.084849247,5.08555048538;99;SANS OBJET;06;MINISTERE DE L'EDUCATION NATIONALE;1982-09-01
0261524R;ECOLE MATERNELLE MICHELET;ECOLE MATERNELLE PUBLIQUE;MICHELET;Public;13 rue Honegger;;;26000;VALENCE;Valence;851510.5;6427658.0;EPSG:2154;44.93153939579681;4.920579941351144;Correcte;Numéro de rue;101;ECOLE MATERNELLE;1;OUVERT;26;84;08;26362;Drôme;Auvergne-Rhône-Alpes;Grenoble;44.9315393958,4.92057994135;99;SANS OBJET;06;MINISTERE DE L'EDUCATION NATIONALE;2016-09-01
0271123Z;Collège Léonard de Vinci;COLLEGE;LEONARD DE VINCI;Public;30 rue de Barrière;;;27950;ST MARCEL;Saint-Marcel;586486.6;6890511.7;EPSG:2154;49.10437041767335;1.4454494181555873;Parfaite;Numéro de rue;340;COLLEGE;1;OUVERT;27;28;21;27562;Eure;Normandie;Rouen;49.1043704177,1.44544941816;99;SANS OBJET;06;MINISTERE DE L'EDUCATION NATIONALE;1975-09-01
0311500M;Ecole primaire privée Saint-Stanislas;ECOLE PRIMAIRE PRIVEE;SAINT-STANISLAS;Privé;22 rue des Fleurs;;;31000;TOULOUSE;Toulouse;574521.2;6278464.3;EPSG:2154;43.594125773929214;1.4465096817555143;Parfaite;Numéro de rue;151;ECOLE DE NIVEAU ELEMENTAIRE;1;OUVERT;31;76;16;31555;Haute-Garonne;Occitanie;Toulouse;43.5941257739,1.44650968176;30;CONTRAT D'ASSOCIATION TOUTES CLASSES;06;MINISTERE DE L'EDUCATION NATIONALE;1971-03-10
0480032Z;Collège privé Saint Privat;COLLEGE PRIVE;SAINT-PRIVAT;Privé;5 rue des Ecoles;;;48000;MENDE;Mende;739807.9;6379700.6;EPSG:2154;44.515235050459914;3.500849618064782;Parfaite;Numéro de rue;340;COLLEGE;1;OUVERT;48;76;11;48095;Lozère;Occitanie;Montpellier;44.5152350505,3.50084961806;30;CONTRAT D'ASSOCIATION TOUTES CLASSES;06;MINISTERE DE L'EDUCATION NATIONALE;1967-04-05
0573772R;Ecole élémentaire spécialisée;ECOLE ELEM.SPECIALISEE PRIVEE;ECOLE ÉLÉMENTAIRE ECREADYS;Privé;11 rue des rossignols;;;57200;SARREGUEMINES;Sarreguemines;995397.7;6896464.1;EPSG:2154;49.09986619259634;7.046589611532727;Parfaite;Numéro de rue;162;ECOLE DE NIVEAU ELEMENTAIRE SPECIALISEE;1;OUVERT;57;44;12;57631;Moselle;Grand Est;Nancy-Metz;49.0998661926,7.04658961153;10;HORS CONTRAT;06;MINISTERE DE L'EDUCATION NATIONALE;2018-09-03
0594635T;Section d'enseignement général et professionnel adapté du Collège Maxence Van Der Meersch;SEGPA;CLG MAXENCE VAN DER MEERSCH;Public;Rue Mirabeau;MOUVAUX;60025;59588;BONDUES CEDEX;Mouvaux;708978.8;7067743.4;EPSG:2154;50.706384444670576;3.1268797884803785;Parfaite;Numéro de rue;390;SECTION ENSEIGNT GEN. ET PROF. ADAPTE;1;OUVERT;59;32;09;59421;Nord;Hauts-de-France;Lille;50.7063844447,3.12687978848;99;SANS OBJET;06;MINISTERE DE L'EDUCATION NATIONALE;1975-09-01
0861212A;Ecole primaire privée Saint Thomas d'Aquin;ECOLE PRIMAIRE PRIVEE;ST THOMAS D'AQUIN;Privé;;LE PARC;;86700;ROMAGNE;Romagne;492089.6;6578109.2;EPSG:2154;46.270867264738435;0.29975967157238165;Correcte;Rue;151;ECOLE DE NIVEAU ELEMENTAIRE;1;OUVERT;86;75;13;86211;Vienne;Nouvelle-Aquitaine;Poitiers;46.2708672647,0.299759671572;10;HORS CONTRAT;06;MINISTERE DE L'EDUCATION NATIONALE;1983-10-03
Voilà le code que j'ai commencé à faire, je suis coincé avec la fonction CompDepEtab qui est censé renvoyé la liste du nombre d’établissements privés et publics de chaque département, sous la forme d’une liste de tuples (numéro département, nombre d’établissements publics, nombre d’établissements privés). Si vous avez des idées je suis preneur.
 
from csv import reader
from collections import Counter
 
#Donne la liste des établissement d'une ville  
def ville(tab):
    s=input('Entrez un nom de ville: ')
    x=len(tab)
    for i in range (1,len(tab)+1):
        if s  in tab[i][9]:
            print("===============================================================" )
            print(tab[i][1])
            print(tab[i][7]," ",tab[i][5])
            print(tab[i][8])
            print(tab[i][9])
 
#Donne le nombre d'établissement d'un département          
def CompDepEtab (tab):
    dep=1
    liste =[]
    for dep in range (1,96):
       # print("dep :",dep)
        for i in range (1,len(tab)+1):
            #print("i : ",i)
            if str(dep) in tab[i][22]:
                print("le même dep : ",dep," que i : ",tab[i][22])
 
 
 
 
#ouvre le ficher csv en mode lecture
with open('etab.csv', 'r', encoding='utf-8') as read_obj:
    # Lecture dui fichier CSV
    csv_reader = reader(read_obj, delimiter=';')
    # création des tuple
    liste = list(map(tuple, csv_reader))
    # Affichage des tuples
    print(liste)
print(liste[6][9])
print(liste[6][1])
print (len(liste))
#ville(liste)
CompDepEtab (liste)
 
Merci d'avance.
Lesnox

Reply

Marsh Posté le 05-12-2020 à 17:00:09   

Reply

Marsh Posté le 06-12-2020 à 22:23:09    

Code :
  1. import pandas as pd
  2. df = pd.read_csv("zgeg.csv", sep=";";)
  3. a = df.groupby(["code_departement"])["secteur_public_prive_libe"].value_counts()
  4. print(a)


 
(fait de tête)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed