:

:

.

Représentation de données

.

Programme de gestion

.

CODE
#classer les données du fichier liste_villes.csv from tkinter import * import csv def remplir ( recup , com , deb , fin ): for n in range ( deb + 2 , fin - 2 ): recup = recup + com [ n ] recup = recup + chr ( 59 ) return recup def transforme_csv ( nom_fichier_csv ): fichier = open ( nom_fichier_csv , "r" ) fichier2 = open ( 'villes_france01.txt' , 'w' ) csv_p_v = csv . reader ( fichier , delimiter = ";" ) k = 0 fichier2 . write ( "departement" + chr ( 59 )+ " Commune " + chr ( 59 )+ "Population" + chr ( 59 )+ "surface" + chr ( 59 )+ "longitude " + chr ( 59 )+ "latitude" + chr ( 59 )+ '\n' ) for ligne in fichier : com = ligne num =[] k = k + 1 kl = 0 recup = '' for j in range ( len ( ligne )): if ligne [ j ]== chr ( 44 ): num . append ( j ) kl = kl + 1 for m in range ( len ( com )): if m == num [ 0 ]: deb = m + 1 fin = num [ 1 ] recup = remplir ( recup , com , deb , fin ) if m == num [ 2 ]: deb = m + 1 fin = num [ 3 ] recup = remplir ( recup , com , deb , fin ) if m == num [ 15 ]: deb = m + 1 fin = num [ 16 ] recup = remplir ( recup , com , deb , fin ) if m == num [ 17 ]: deb = m + 1 fin = num [ 18 ] recup = remplir ( recup , com , deb , fin ) if m == num [ 18 ]: deb = m + 1 fin = num [ 19 ] recup = remplir ( recup , com , deb , fin ) if m == num [ 19 ]: deb = m + 1 fin = num [ 20 ] recup = remplir ( recup , com , deb , fin ) recup = recup + "\n" fichier2 . write ( recup ) fichier . close () fichier2 . close () largeur , hauteur = 650 , 320 fenetre = Tk () taille , titre = str ( largeur )+ "x" + str ( hauteur ), "CSV" fenetre . geometry ( taille ) fenetre . title ( titre ) can = Canvas ( fenetre , width = largeur , height = hauteur , bg = "white" ) t_fenetre = Text ( fenetre , width = largeur , height = hauteur , bg = "white" ) t_fenetre . grid ( row = 0 , column = 0 ) transforme_csv ( 'liste_villes.csv' ) fenetre . mainloop ()

--------------------------------------------------------

.

Gestion de villes_france01.txt

.

CODE
# 0804 monfichier4.py lecture d'un fichier à l'aide de la méthode fichier.readlines() monfichier.txt = fichier texte # r = mode lecture def chainenum ( mot ): temp = '' lg = int ( len ( mot )) for i in range ( 0 , lg ): if 47 < ord ( mot [ i ])< 58 : temp = temp + mot [ i ] if len ( temp )== 0 : temp = '0' return temp def chaine ( mot ): temp = '' lg = int ( len ( mot )) for i in range ( lg ): if ord ( mot [ i ])!= 34 and ord ( mot [ i ])!= 58 : temp = temp + mot [ i ] return temp print ( " Lecture du fichier villes_france01.txt " ) print ( " méthode readlines() " ) print ( "-------------------------------------" ) print ( " " ) dep , nom , lat , longi =[],[],[],[] fichier2 = open ( 'france500000.txt' , 'w' ) fichier3 = open ( 'france100000.txt' , 'w' ) fichier4 = open ( 'france20000.txt' , 'w' ) fichier5 = open ( 'france10000.txt' , 'w' ) fichier6 = open ( 'france5000.txt' , 'w' ) fichier7 = open ( 'france2000.txt' , 'w' ) fichier1 = open ( "france.txt" , "r" ) for ligne in fichier1 : long = len ( ligne ) k = 0 for i in range ( long ): if ligne [ i ]== "," : k = k + 1 klong = k k = 0 mot , longi , lay , surface , pop , k = '' , '' , '' , '' , '' , 0 for i in range ( long ): if ligne [ i ]== "," : k = k + 1 if k == 3 and ligne [ i ]!= "," : mot = mot + ligne [ i ] if k == klong - 8 and ligne [ i ]!= "," : surface = surface + ligne [ i ] if k == klong - 10 and ligne [ i ]!= "," : pop = pop + ligne [ i ] if k == klong - 7 and ligne [ i ]!= "," : longi = longi + ligne [ i ] if k == klong - 6 and ligne [ i ]!= "," : lay = lay + ligne [ i ] mot1 = chaine ( mot ) longi1 = chaine ( longi ) lay1 = chaine ( lay ) surface1 = chaine ( surface ) pop1 = chainenum ( pop ) popo = 0 if len ( pop1 )!= 0 : popo = int ( pop1 ) nligne = mot1 + ';' + surface1 + ';' + longi1 + ';' + lay1 + ';' + pop1 if popo > 200000 : fichier2 . write ( nligne + '\n' ) nligne = '' if 200001 > popo > 100000 : fichier3 . write ( nligne + '\n' ) nligne = '' if 100001 > popo > 20000 : fichier4 . write ( nligne + '\n' ) nligne = '' if 20001 > popo > 10000 : fichier5 . write ( nligne + '\n' ) nligne = '' if 10001 > popo > 5000 : fichier6 . write ( nligne + '\n' ) nligne = '' if 5001 > popo > 1999 : fichier7 . write ( nligne + '\n' ) nligne = '' fichier1 . close () fichier2 . close () fichier3 . close () fichier4 . close () fichier5 . close () fichier6 . close () fichier7 . close ()