Bonjour à tous
Je suis entrain de découvrir python dans le cadre de mon travail... C'est surtout le seul langage exécutable sur ma machine... alors c'est l’occasion d'apprendre.
Je cherche a faire une moulinette qui va permettre de découper un fichier en plusieurs sous fichier en fonction d'une valeur en début de chaque ligne.
Actuellement, je suis bloqué sur la fin du traitement... En effet le découpage se passe pas trop mal... Sauf pour le dernier fichier.
La boucle semble bloqué ! Le fichier est crée mais vite !!
Ne connaissant pas encore suffisamment les outils de debug... je m'en réfère à vous
Exmple de fichier a découper :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 file = "LLOC_TEST.txt" insee = "" current = "" print("----| lecture du fichier : " + file + " |----") f = open(file, "r") while 1 : data = f.readline() if not data : break insee = data[0:6] # Création du fichier avec ecriture des lignes if current != insee : print("--> création du fichier : " + insee + ".txt") foutput = open(insee+".txt", "a") current = insee print("> écriture de la ligne : " + data.rstrip()) foutput.write(data)
Certains d'entre vous devrait bien avoir une petite idée... mais moi je cherche et je séche !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
28
29
30
31
32
33
34
35
36
37
38
39
40 950074 BOISEMONT 950074 B0771001000010210950074 074064530000002030001000 950074 B0771001000010310950074 074064418800002430001000 950074 B0771001000020110950074 074064530100000230001000 950074 B0771001000020210950074 074064419100000240001000 950074 B0771001000030110950074 074064418800000160001000 950074 B0771001000030210950074 074064530100000100001000 950074 B0771001000030310950074 074064530100000100001000 950074 B0771001000030410950074 074064605600000100001000 950074 B0771001000030510950074 074064605600000100001000 950127 CERGY 950127 AE0249001000000110950127 127053175600003540001000 950127 AE0249001000000210950127 127053175700003090001000 950127 AE0249001000000310950127 127053175800003010001000 950127 AE0249001000000410950127 127053175800000360001000 950127 AH0038001000000110950127 127055996700003000001000 950127 AH0038001000000210950127 127056884700002800001000 950127 AH0038001000000210950127 127056884800002800001000 950388 MENUCOURT 950388 A0082001000000110950388 388054469400000850001000 950388 A0082001000000210950388 388056272100009150001000 950388 AB0018001000000110950388 388026830600000750010000 950388 AB0018001000000210950388 388026830800000750010000 950637 VAUREAL 950637 AB0021001000000110950637 637004568700000750003000 950637 AB0021001000000210950637 637004568500001920003000 950637 AB0021001000000310950637 637004568600004830003000 950637 AB0021001000000410950637 637004568900000690003000 950637 AB0021001000000510950637 637004568800003540003000 950637 AB0021001000000610950637 637004569000000780003000 950637 AB0021001000000710950637 637004569100003930003000 950637 AB0021001000000810950637 637004569200000300003000 950637 AB0021001000000910950637 637004568500000030003000 950637 AB0021001000001010950637 637004569100000090003000 950637 AB0021001000001110950637 637004568800000120003000 950637 AB0021001000001210950637 637004568600000180003000 950637 AB0021001000001610950637 637004569300000360003000 950637 AB0021001000001710950637 637004569400000450003000 950637 AB0021001000001810950637 637004569500000450003000 950637 AB0021001000001910950637 637004569600000450003000
Partager