Je récupère dans un fichier un vidage de bd dont certaines colonnes
contiennent du texte dont le caractère saut de ligne.
Le vidage est en .txt or lorsque j'accéde avec un éditeur sur ce fichier
il traite le saut de ligne comme s'il s'agissait d'une fin
d'enregistrement ... c'est illisible :-(
Y a t'il une solution pour conserver le saut dans la zone mais l'inhiber
pour rester dans le même enreg de fichier ?
Ou dit différement comment traiter ce fichier en récupérant
l'intégralité de l'enregistrement sans que les saut de ligne contenu
dans l'enreg n'interfére.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
yves
On Sat, 11 Mar 2006 19:41:59 +0100, BrunoL wrote:
Bonsoir,
Je récupère dans un fichier un vidage de bd dont certaines colonnes contiennent du texte dont le caractère saut de ligne.
Le vidage est en .txt or lorsque j'accéde avec un éditeur sur ce fichier il traite le saut de ligne comme s'il s'agissait d'une fin d'enregistrement ... c'est illisible :-(
Y a t'il une solution pour conserver le saut dans la zone mais l'inhiber pour rester dans le même enreg de fichier ?
Ou dit différement comment traiter ce fichier en récupérant l'intégralité de l'enregistrement sans que les saut de ligne contenu dans l'enreg n'interfére.
Un petit exemple, peut-être, pour illustrer ?
-- Yves
On Sat, 11 Mar 2006 19:41:59 +0100, BrunoL <bruno.lin.dis@free.fr>
wrote:
Bonsoir,
Je récupère dans un fichier un vidage de bd dont certaines colonnes
contiennent du texte dont le caractère saut de ligne.
Le vidage est en .txt or lorsque j'accéde avec un éditeur sur ce fichier
il traite le saut de ligne comme s'il s'agissait d'une fin
d'enregistrement ... c'est illisible :-(
Y a t'il une solution pour conserver le saut dans la zone mais l'inhiber
pour rester dans le même enreg de fichier ?
Ou dit différement comment traiter ce fichier en récupérant
l'intégralité de l'enregistrement sans que les saut de ligne contenu
dans l'enreg n'interfére.
Je récupère dans un fichier un vidage de bd dont certaines colonnes contiennent du texte dont le caractère saut de ligne.
Le vidage est en .txt or lorsque j'accéde avec un éditeur sur ce fichier il traite le saut de ligne comme s'il s'agissait d'une fin d'enregistrement ... c'est illisible :-(
Y a t'il une solution pour conserver le saut dans la zone mais l'inhiber pour rester dans le même enreg de fichier ?
Ou dit différement comment traiter ce fichier en récupérant l'intégralité de l'enregistrement sans que les saut de ligne contenu dans l'enreg n'interfére.
Un petit exemple, peut-être, pour illustrer ?
-- Yves
R12y
On Sat, 11 Mar 2006 19:41:59 +0100, BrunoL wrote:
Je récupère dans un fichier un vidage de bd dont certaines colonnes contiennent du texte dont le caractère saut de ligne.
Est-e qu'il y a un moyen quelconque de faire la différence entre un "vrai" saut de ligne et un "faux"?
Si oui, alors dis-le nous. Si non, je ne vois pas trop comment faire...
Je récupère dans un fichier un vidage de bd dont certaines colonnes contiennent du texte dont le caractère saut de ligne.
Est-e qu'il y a un moyen quelconque de faire la différence entre un "vrai" saut de ligne et un "faux"?
Si oui, alors dis-le nous. Si non, je ne vois pas trop comment faire...
enreg = #zone1#zone2#zone3#zone4#
Mais dans zone3 correspondant à une zone type memo j'ai un caractère n
fichierSortie.write(str(enreg[y])) écrit en fait 2 enreg : #zone1#zone2#zone3 (début) zone3 (fin)#zone4#
une lecture séquentielle donne bien ces deux enreg distincts. J'ai changé n par t mais cela ne règle pas mon pb pour la suite de traitement. Au pire je remplacerai par un truc du genre £ puis recoderai ensuite mais c'est bourrin ;-) et comme j'ai pas mal de cas différents ... 100s de tables
A+
On Sat, 11 Mar 2006 19:41:59 +0100, BrunoL wrote:
Je récupère dans un fichier un vidage de bd dont certaines colonnes
contiennent du texte dont le caractère saut de ligne.
Est-e qu'il y a un moyen quelconque de faire la différence entre un "vrai"
saut de ligne et un "faux"?
Si oui, alors dis-le nous.
Si non, je ne vois pas trop comment faire...
enreg = #zone1#zone2#zone3#zone4#
Mais dans zone3 correspondant à une zone type memo j'ai un caractère n
fichierSortie.write(str(enreg[y]))
écrit en fait 2 enreg :
#zone1#zone2#zone3 (début)
zone3 (fin)#zone4#
une lecture séquentielle donne bien ces deux enreg distincts.
J'ai changé n par t mais cela ne règle pas mon pb pour la suite de
traitement.
Au pire je remplacerai par un truc du genre £ puis recoderai ensuite
mais c'est bourrin ;-) et comme j'ai pas mal de cas différents ... 100s
de tables
Je récupère dans un fichier un vidage de bd dont certaines colonnes contiennent du texte dont le caractère saut de ligne.
Est-e qu'il y a un moyen quelconque de faire la différence entre un "vrai" saut de ligne et un "faux"?
Si oui, alors dis-le nous. Si non, je ne vois pas trop comment faire...
enreg = #zone1#zone2#zone3#zone4#
Mais dans zone3 correspondant à une zone type memo j'ai un caractère n
fichierSortie.write(str(enreg[y])) écrit en fait 2 enreg : #zone1#zone2#zone3 (début) zone3 (fin)#zone4#
une lecture séquentielle donne bien ces deux enreg distincts. J'ai changé n par t mais cela ne règle pas mon pb pour la suite de traitement. Au pire je remplacerai par un truc du genre £ puis recoderai ensuite mais c'est bourrin ;-) et comme j'ai pas mal de cas différents ... 100s de tables
A+
Méta-MCI
Bonsoir !
Au vu du dessin de ton enregistrement :
#zone1#zone2#zone3#zone4#
on peut déduire que la fin d'enregistrement, c'est '#rn' (ou '#n')
Il suffit donc de charger entièrement le fichier, de "splitter" sur '#rn' pour avoir les enregistrements, et de tous les "splitter" sur #, pour avoir les champs.
Mais, j'ai un autre doute : et si, par exemple, zone3 contenait le caractère '#' ? Aïe !
@-salutations
Michel Claveau
Bonsoir !
Au vu du dessin de ton enregistrement :
#zone1#zone2#zone3#zone4#
on peut déduire que la fin d'enregistrement, c'est '#rn' (ou '#n')
Il suffit donc de charger entièrement le fichier, de "splitter" sur '#rn'
pour avoir les enregistrements, et de tous les "splitter" sur #, pour avoir
les champs.
Mais, j'ai un autre doute : et si, par exemple, zone3 contenait le
caractère '#' ? Aïe !
on peut déduire que la fin d'enregistrement, c'est '#rn' (ou '#n')
Il suffit donc de charger entièrement le fichier, de "splitter" sur '#rn' pour avoir les enregistrements, et de tous les "splitter" sur #, pour avoir les champs.
Mais, j'ai un autre doute : et si, par exemple, zone3 contenait le caractère '#' ? Aïe !
@-salutations
Michel Claveau
Pierre Quentel
Il faut une fonction qui convertit le texte d'origine (celui qui peut contenir des sauts de ligne) en une chaîne garantie sans saut de ligne
Tu peux utiliser urllib.quote_plus :
import urllib (... lecture de la chaîne s dans la base ...) fichier_dest.write(urllib.quote_plus(s)+'n')
Dans l'autre sens : for line in fichier_dest: s = urllib.unquote_plus(line[:-1])
Pierre
Il faut une fonction qui convertit le texte d'origine (celui qui peut
contenir des sauts de ligne) en une chaîne garantie sans saut de ligne
Tu peux utiliser urllib.quote_plus :
import urllib
(... lecture de la chaîne s dans la base ...)
fichier_dest.write(urllib.quote_plus(s)+'n')
Dans l'autre sens :
for line in fichier_dest:
s = urllib.unquote_plus(line[:-1])
Il faut une fonction qui convertit le texte d'origine (celui qui peut contenir des sauts de ligne) en une chaîne garantie sans saut de ligne
Tu peux utiliser urllib.quote_plus :
import urllib (... lecture de la chaîne s dans la base ...) fichier_dest.write(urllib.quote_plus(s)+'n')
Dans l'autre sens : for line in fichier_dest: s = urllib.unquote_plus(line[:-1])
Pierre
J'essai ça.
Merci.
Eric Deveaud
BrunoL wrote:
Bonsoir,
Je récupère dans un fichier un vidage de bd dont certaines colonnes contiennent du texte dont le caractère saut de ligne.
donc le saut de ligne n'est pas le delimiteur d'enregistrement.
Le vidage est en .txt or lorsque j'accéde avec un éditeur sur ce fichier il traite le saut de ligne comme s'il s'agissait d'une fin d'enregistrement ... c'est illisible :-(
Y a t'il une solution pour conserver le saut dans la zone mais l'inhiber pour rester dans le même enreg de fichier ?
expression reguliere pour chercher des sauts de lignes au sein d'un enrregistrement et ignorer les sauts de lignes standards.
Ou dit différement comment traiter ce fichier en récupérant l'intégralité de l'enregistrement sans que les saut de ligne contenu dans l'enreg n'interfére.
acquisition classique (j'aime bine le ligne par ligne) et pour chacune d'entre elle verifier si le saut de ligne correspond a une fin d'enregistrement ou non. si non, continuer a lire en gardant ce saut de ligne
Eric
-- S'il te plait explique moi 2 secondes en quoi c'est un quote de goret, parce que j'ai cité le message en entier? c'est normal, je l'ai lu en entier et j'y ai répondu en entier. -+- B in <http://www.le-gnu.net/> - tout est bon dans le cochon -+-
BrunoL wrote:
Bonsoir,
Je récupère dans un fichier un vidage de bd dont certaines colonnes
contiennent du texte dont le caractère saut de ligne.
donc le saut de ligne n'est pas le delimiteur d'enregistrement.
Le vidage est en .txt or lorsque j'accéde avec un éditeur sur ce fichier
il traite le saut de ligne comme s'il s'agissait d'une fin
d'enregistrement ... c'est illisible :-(
Y a t'il une solution pour conserver le saut dans la zone mais l'inhiber
pour rester dans le même enreg de fichier ?
expression reguliere pour chercher des sauts de lignes au sein d'un
enrregistrement et ignorer les sauts de lignes standards.
Ou dit différement comment traiter ce fichier en récupérant
l'intégralité de l'enregistrement sans que les saut de ligne contenu
dans l'enreg n'interfére.
acquisition classique (j'aime bine le ligne par ligne) et pour chacune d'entre
elle verifier si le saut de ligne correspond a une fin d'enregistrement ou non.
si non, continuer a lire en gardant ce saut de ligne
Eric
--
S'il te plait explique moi 2 secondes en quoi c'est un quote de goret,
parce que j'ai cité le message en entier?
c'est normal, je l'ai lu en entier et j'y ai répondu en entier.
-+- B in <http://www.le-gnu.net/> - tout est bon dans le cochon -+-
Je récupère dans un fichier un vidage de bd dont certaines colonnes contiennent du texte dont le caractère saut de ligne.
donc le saut de ligne n'est pas le delimiteur d'enregistrement.
Le vidage est en .txt or lorsque j'accéde avec un éditeur sur ce fichier il traite le saut de ligne comme s'il s'agissait d'une fin d'enregistrement ... c'est illisible :-(
Y a t'il une solution pour conserver le saut dans la zone mais l'inhiber pour rester dans le même enreg de fichier ?
expression reguliere pour chercher des sauts de lignes au sein d'un enrregistrement et ignorer les sauts de lignes standards.
Ou dit différement comment traiter ce fichier en récupérant l'intégralité de l'enregistrement sans que les saut de ligne contenu dans l'enreg n'interfére.
acquisition classique (j'aime bine le ligne par ligne) et pour chacune d'entre elle verifier si le saut de ligne correspond a une fin d'enregistrement ou non. si non, continuer a lire en gardant ce saut de ligne
Eric
-- S'il te plait explique moi 2 secondes en quoi c'est un quote de goret, parce que j'ai cité le message en entier? c'est normal, je l'ai lu en entier et j'y ai répondu en entier. -+- B in <http://www.le-gnu.net/> - tout est bon dans le cochon -+-
Eric Deveaud
BrunoL wrote:
enreg = #zone1#zone2#zone3#zone4#
Mais dans zone3 correspondant à une zone type memo j'ai un caractère n
fichierSortie.write(str(enreg[y])) écrit en fait 2 enreg : #zone1#zone2#zone3 (début) zone3 (fin)#zone4#
une lecture séquentielle donne bien ces deux enreg distincts. J'ai changé n par t mais cela ne règle pas mon pb pour la suite de traitement.
je suis pas d'accord un lecture sequentielle te renvoie (dans ce cas) 2 choses differentes et l'on peut savoir comment s'en sortir si la ligne commence par # c'est un nouvel enregistrement sinon c'est la fin de l'enregistrement precedent.
ou alors si une ligne ne fini pas par # c'est que la/les ligne suivantes vont venir la completer.
question pourquoi ne pas avoir garde une syntaxe dnas le fichier de sortie genre enreg = #mmm#mmm#mmm# ?
Eric -- S'il te plait explique moi 2 secondes en quoi c'est un quote de goret, parce que j'ai cité le message en entier? c'est normal, je l'ai lu en entier et j'y ai répondu en entier. -+- B in <http://www.le-gnu.net/> - tout est bon dans le cochon -+-
BrunoL wrote:
enreg = #zone1#zone2#zone3#zone4#
Mais dans zone3 correspondant à une zone type memo j'ai un caractère n
fichierSortie.write(str(enreg[y]))
écrit en fait 2 enreg :
#zone1#zone2#zone3 (début)
zone3 (fin)#zone4#
une lecture séquentielle donne bien ces deux enreg distincts.
J'ai changé n par t mais cela ne règle pas mon pb pour la suite de
traitement.
je suis pas d'accord un lecture sequentielle te renvoie (dans ce cas) 2 choses
differentes et l'on peut savoir comment s'en sortir
si la ligne commence par # c'est un nouvel enregistrement
sinon c'est la fin de l'enregistrement precedent.
ou alors si une ligne ne fini pas par # c'est que la/les ligne suivantes vont
venir la completer.
question pourquoi ne pas avoir garde une syntaxe dnas le fichier de sortie
genre enreg = #mmm#mmm#mmm# ?
Eric
--
S'il te plait explique moi 2 secondes en quoi c'est un quote de goret,
parce que j'ai cité le message en entier?
c'est normal, je l'ai lu en entier et j'y ai répondu en entier.
-+- B in <http://www.le-gnu.net/> - tout est bon dans le cochon -+-
Mais dans zone3 correspondant à une zone type memo j'ai un caractère n
fichierSortie.write(str(enreg[y])) écrit en fait 2 enreg : #zone1#zone2#zone3 (début) zone3 (fin)#zone4#
une lecture séquentielle donne bien ces deux enreg distincts. J'ai changé n par t mais cela ne règle pas mon pb pour la suite de traitement.
je suis pas d'accord un lecture sequentielle te renvoie (dans ce cas) 2 choses differentes et l'on peut savoir comment s'en sortir si la ligne commence par # c'est un nouvel enregistrement sinon c'est la fin de l'enregistrement precedent.
ou alors si une ligne ne fini pas par # c'est que la/les ligne suivantes vont venir la completer.
question pourquoi ne pas avoir garde une syntaxe dnas le fichier de sortie genre enreg = #mmm#mmm#mmm# ?
Eric -- S'il te plait explique moi 2 secondes en quoi c'est un quote de goret, parce que j'ai cité le message en entier? c'est normal, je l'ai lu en entier et j'y ai répondu en entier. -+- B in <http://www.le-gnu.net/> - tout est bon dans le cochon -+-
Eric Deveaud
Méta-MCI wrote:
Bonsoir !
Au vu du dessin de ton enregistrement :
#zone1#zone2#zone3#zone4#
on peut déduire que la fin d'enregistrement, c'est '#rn' (ou '#n')
Il suffit donc de charger entièrement le fichier,
il parle de centaines de tables, ca risuqe de faire gros tres gros meme.
de "splitter" sur '#rn' pour avoir les enregistrements, et de tous les "splitter" sur #, pour avoir les champs.
voui
Mais, j'ai un autre doute : et si, par exemple, zone3 contenait le caractère '#' ? Aïe !
boum meme.
Eric
-- S'il te plait explique moi 2 secondes en quoi c'est un quote de goret, parce que j'ai cité le message en entier? c'est normal, je l'ai lu en entier et j'y ai répondu en entier. -+- B in <http://www.le-gnu.net/> - tout est bon dans le cochon -+-
Méta-MCI wrote:
Bonsoir !
Au vu du dessin de ton enregistrement :
#zone1#zone2#zone3#zone4#
on peut déduire que la fin d'enregistrement, c'est '#rn' (ou '#n')
Il suffit donc de charger entièrement le fichier,
il parle de centaines de tables, ca risuqe de faire gros tres gros meme.
de "splitter" sur '#rn'
pour avoir les enregistrements, et de tous les "splitter" sur #, pour avoir
les champs.
voui
Mais, j'ai un autre doute : et si, par exemple, zone3 contenait le
caractère '#' ? Aïe !
boum meme.
Eric
--
S'il te plait explique moi 2 secondes en quoi c'est un quote de goret,
parce que j'ai cité le message en entier?
c'est normal, je l'ai lu en entier et j'y ai répondu en entier.
-+- B in <http://www.le-gnu.net/> - tout est bon dans le cochon -+-
on peut déduire que la fin d'enregistrement, c'est '#rn' (ou '#n')
Il suffit donc de charger entièrement le fichier,
il parle de centaines de tables, ca risuqe de faire gros tres gros meme.
de "splitter" sur '#rn' pour avoir les enregistrements, et de tous les "splitter" sur #, pour avoir les champs.
voui
Mais, j'ai un autre doute : et si, par exemple, zone3 contenait le caractère '#' ? Aïe !
boum meme.
Eric
-- S'il te plait explique moi 2 secondes en quoi c'est un quote de goret, parce que j'ai cité le message en entier? c'est normal, je l'ai lu en entier et j'y ai répondu en entier. -+- B in <http://www.le-gnu.net/> - tout est bon dans le cochon -+-