:
.
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
()
|