Bonjour Dominique,

Le 10/12/2017 à 05:46, Dominique_sextant a écrit :

La question posée m'intéresse beaucoup. J'ai testé l'export csv comme tu
nous le suggères, à savoir insérer des retours chariot au sein d'une
cellule. Malheureusement, le caractère spécial \n n'apparaît pas :

ubuntu@ubuntu-W54-55SU1-SUW:~/Temp$ cat cellule.csv
"Ceci est un texte bien trop long pour tenir dans une cellule"
"Ceci est un
Texte formaté
Pour tenir
Dans une cellule"

Ce petit fichier tient dans 2 cellules comme je le souhaite.

J'ai bien souvent à traiter des fichiers Calc où des cellules contiennent du
texte sans retour chariot. Je voudrais, avec des REGEX, en introduire mais
je ne crois pas que ce soit possible.


Le caractère inséré est un LF (ascii 10) ou \n comme dit par Starway.

Or, la commande cat n'affiche pas les LF. Si tu ouvres le fichier sous Geany (Linux) ou sous Notepad++ (Windows) tu peux configurer l'éditeur afin qu'il affiche ces caractères et tu les verras.

Voici le résultat d'un export CSV à partir d'un fichier de test ods. Ce fichier comporte trois lignes (1, 2, 3) de trois colonnes (A, B, C). La cellule A1 contient du texte avec deux sauts de ligne. J'obtiens ceci [les <LF> sont des ajouts manuels de ma part ici] :

"un<LF>
Deux<LF>
Trois","neuf","dix"<LF>
"Deux","trois","quatre"<LF>
"cinq","six","sept"<LF>

Ce qui signifie que si tu insères des <LF> aux "bons" endroits au sein des chaînes, tu auras les retours à la ligne.

Pour résumer :
-- les <LF> à l'intérieur des (guillemets) délimiteurs entraînent un saut de ligne dans la donnée (cellule). -- Les <LF> hors délimiteurs de texte provoquent l'interprétation d'une nouvelle ligne (enregistrement) dans le fichier.


Bien cordialement,
--
Jean-Francois Nifenecker, Bordeaux


--
Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire
Les archives de la liste sont disponibles à 
https://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne 
pourront pas être supprimés

Répondre à