Bonjour à tous,
j'ai actuellement besoin de créer un script python tout ce qui a de plus simple, il ouvre un fichier, extrait tout ce qu'il faut par rapport à un séparateur spécifique.
J'ai donc un fichier texte, que j'ai extrait de Active Directory via CSVDE, et je voudrais maintenant traité ce fameux fichier texte, problème, je n'arrive pas a "bien" lire le fichier, à noter que je suis actuellement sous Vista, peut-être est-ce un bug venant de l'OS, et je suis actuellement avec la version 2.5.2 de python, bref passons au problème.
Lors de l'ouverture de ce fichier via un éditeur de texte quelconque, on a bien un fichier tout ce qu'il y a de plus normal, ex :
Suite à l'exécution du code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 A enlever1 ", A extraire1 A enlever2 ", A extraire2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 import os ofi = open('fich_export.txt', 'r') while 1 : line = ofi.readline() if not line : break else: print line
Ca nous donne :
Noter que python a mis un espace entre chaque caractère de mon code, lors de la réécriture de tout ça dans un fichier, le problème persiste même avec un éditeur de texte.
Code : Sélectionner tout - Visualiser dans une fenêtre à part A e n l e v e r 2 " , A e x t r a i r e 2
C'est donc ici que je bloque, j'ai pensé à un caractère spécial entre chaque caractère, mais je n'ai pas réussi à l'extraire. J'ai regardé un petit peu du côté de l'encodage, mais je n'ai rien trouvé. J'ai bien évidemment fouillé la docs, mais rien à ce sujet, je n'est peut-être pas été assez perspicace, bref !
Donc voilà en espérant que quelqu'un pourrait éclairer ma lanterne sur ce sujet.
EDIT : Petite erreur dans mon code corrigéeC'était une ancienne version, le problème persiste !
EDIT2 : J'ai trouvé la cause du problème, il y a des caractère au code ASCII 00 qui se mette entre chaque champ. Maintenant il me reste plus qu'à les enlever.Si quelqu'un a une idée comment faire, j'avais pensé à lire le fichier 8 bits / 8bits, mais il retourne quoi dans ce cas
![]()
Partager