1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| # Extraire d'un fichier csv les lignes correspondant à des prénoms dont la première lettre est située entre F et M inclus.
# fonctions
def filtre(debut, fin):
'creation d une chaine pour la recherche'
alphabetMaj=['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
alphabetMin=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
indexDebut=alphabetMaj.index(debut)
indexFin=(alphabetMaj.index(fin)+1)
return ''.join(alphabetMaj[indexDebut:indexFin]+alphabetMin[indexDebut:indexFin])
def extraction(source, destination, colonne, filtre):
'extraction des lignes par rapport a une colonne et un filtre'
fs=open(source, 'r', encoding="utf-8")
fd=open(destination, 'w', encoding="utf-8")
while 1:
ligne=fs.readline()
if ligne=='':
break
mot=ligne.split(';')[colonne-1]
if mot[0:1] in filtre:
fd.write(str(ligne))
fs.close()
fd.close()
# main
extraction('repertoire.csv','extraction.csv', 2, filtre('F','M')) |
Partager