Le CSV est un tableau et rien d'autre, sans formules ni mise en forme de cellule. L'ODT est du texte OpenDocument, le format natif de LibreOffice Writer. pandoc se tient entre les deux, et cette page dit exactement ce qui arrive à un fichier CSV en route vers l'ODT.
Ce qui s'exécute quand un fichier CSV devient un ODT
pandoc en deux passes, sur une machine que nous louons et que nous surveillons. Votre fichier CSV est envoyé une fois, pandoc s'exécute une fois, le fichier ODT revient, et aucun des deux fichiers n'est conservé. CSV vers ODT fait partie des 3649 paires sur lesquelles ce moteur a été sondé avec un vrai fichier, et c'est pour cela que cette page existe quand celles que la sonde n'a pas su prouver n'existent pas.
Ce qui survit du fichier CSV dans le fichier ODT
Les tableaux, reconstruits en syntaxe ODT plutôt que photographiés. C'est la différence entre un tableau qu'une machine sait lire et l'image d'un tableau, et c'est toute la raison de faire passer un fichier CSV par pandoc plutôt que par une imprimante.
Les listes du fichier CSV, imbrications comprises, plus les blocs de code, les citations et les liens, tous réexprimés en ODT.
Les images : pandoc les extrait du fichier CSV vers un répertoire de travail et les réintègre dans l'ODT, si bien que rien ne finit par pointer vers un fichier qui n'existe plus.
Ce que la conversion CSV vers ODT vous coûte
La couche de présentation. pandoc ne traduit pas le fichier CSV en ODT, il le reconstruit depuis son propre arbre de document : les styles personnalisés, la mise en page, les en-têtes et les pieds de page ne traversent pas. La structure, si, et c'est de cela que l'arbre est fait.
D'où viennent les fichiers CSV et ODT
CSV. Tout l'écrit et rien ne s'accorde dessus. Il existe une RFC, la 4180, et elle décrit l'usage courant plutôt qu'elle ne le commande : guillemets, échappements et fins de ligne varient d'un producteur à l'autre. Un CSV est le plus petit dénominateur commun, ce qui explique à la fois qu'il soit partout et qu'il surprenne.
ODT. LibreOffice Writer l'écrit nativement. Comme l'ODS, c'est la norme ISO/IEC 26300, et on le trouve partout où un organisme public ou une politique interne a demandé un format ouvert plutôt que celui d'un éditeur.
Si un modèle doit lire le fichier ODT
La structure est ce qui subsiste du fichier CSV, et la structure est ce dont un modèle a besoin. CSV en entrée, ODT en sortie, avec l'arbre des titres intact plutôt qu'aplati en un seul long paragraphe.
CSV vers ODT, mesuré plutôt que promis
En passant CSV vers ODT sur le moteur réel avec un vrai fichier, pandoc a écrit 7 057 octets au format ODT en 0,1 secondes, machine par ailleurs au repos. C'est un fichier CSV un jour donné et non une moyenne, et c'est pourquoi le nombre est donné avec le fichier qui l'a produit.
Le verdict CSV vers ODT a été obtenu par un aller-retour pandoc, c'est-à-dire que la sortie a été relue par pandoc et devait encore contenir un mot témoin planté dans la source, ce qui prouve que le contenu a voyagé et pas seulement le conteneur. Le contrôle employé compte, parce qu'ils ne prouvent pas tous la même chose, et un code de statut 200 ne prouve strictement rien sur ce que le fichier ODT contient.
Le même fichier CSV, envoyé ailleurs
Les autres sorties que la sonde a mesurées à partir d'un fichier CSV, pour que le coût du choix du format ODT se lise face à quelque chose. Les tailles ne se comparent pas d'un moteur à l'autre, chaque famille ayant été sondée avec son propre fichier témoin CSV.
CSV vers PDF : 12 680 octets en 1,0 secondes, vérifié par une signature de format.
CSV vers MD : 114 octets en 0,1 secondes, vérifié par un aller-retour pandoc.
CSV vers DOCX : 9 945 octets en 0,1 secondes, vérifié par un aller-retour pandoc.
CSV vers EPUB : 4 913 octets en 0,1 secondes, vérifié par un aller-retour pandoc.
CSV vers TXT : 114 octets en moins d'un dixième de seconde, vérifié par la relecture du texte.
CSV vers HTML : 3 894 octets en 0,1 secondes, vérifié par un aller-retour pandoc.
Les autres routes vers ODT, et ce qu'elles ont mesuré
Parmi les routes publiées vers ODT, CSV est la septième plus grosse sortie des 8 mesurées. Les fichiers témoins diffèrent : ce classement porte sur la sonde et non sur votre document.
HTML vers ODT : 7 629 octets en 0,1 secondes.
JSON vers ODT : 7 537 octets en 0,1 secondes.
MD vers ODT : 7 537 octets en 0,1 secondes.
TXT vers ODT : 6 941 octets en 0,1 secondes.
DOCX vers ODT : 12 806 octets en 1,2 secondes.
Ce que nous ne prétendrons pas sur CSV vers ODT
Un fichier CSV de plus de 25 Mo est refusé avant la fin de l'envoi plutôt qu'après, pour que vous n'attendiez pas un refus.
Une conversion CSV vers ODT qui dépasse 60 secondes est tuée, et le processus pandoc avec elle. Une exécution abandonnée resterait posée sur l'un des deux cœurs de la machine jusqu'à ce que quelqu'un le remarque.
32 des 935 paires sondées dans la famille qui sert CSV vers ODT ont échoué, et celle-ci n'en fait pas partie. Elles échouent pour des raisons qu'il vaut mieux connaître : un rédacteur incapable de porter ce dont le document est fait, ou une sortie que le moteur n'a pas su relire. Elles sont comptées ici plutôt que cachées, parce qu'une paire qui échoue en silence est pire qu'une paire qui échoue bruyamment.
pandoc n'écrit jamais l'ODT en passant par un moteur TeX ici, et il n'écrit pas de PDF du tout : les onze moteurs qu'il lui faudrait ne sont pas sur cette machine, et une distribution TeX pèse plusieurs gigaoctets. Qui veut un PDF à partir d'un fichier CSV passe par LibreOffice ou par calibre, qui en sont réellement capables.
Un fichier CSV à la fois, choisi dans le navigateur. Il n'y a rien d'autre à régler et rien d'autre à proposer.
CSV vers ODT : les questions que l'on pose
Qu'est-ce qui convertit vraiment mon fichier CSV en ODT ?
C'est pandoc qui s'en charge, en deux passes, sur une machine que nous louons et que nous surveillons. Ni astuce de navigateur, ni service d'un tiers : le fichier CSV est envoyé une fois, pandoc s'exécute une fois, l'ODT revient, et aucun des deux fichiers n'est conservé ensuite.
Combien de temps prend une conversion CSV vers ODT ?
Sur le fichier utilisé par la sonde, pandoc a mis 0,1 seconde et écrit 7 057 octets d'ODT. C'est une mesure réelle sur un fichier CSV réel, pas une moyenne et pas une promesse sur le vôtre : un CSV plus gros prend plus longtemps, et au-delà de 60 secondes l'exécution est arrêtée.
Qu'est-ce que je perds en passant du CSV à l'ODT ?
Celle qu'il faut connaître en premier : la couche de présentation. pandoc ne traduit pas le fichier CSV en ODT, il le reconstruit depuis son propre arbre de document : les styles personnalisés, la mise en page, les en-têtes et les pieds de page ne traversent pas. La structure, si, et c'est de cela que l'arbre est fait.
Les tableaux de mon fichier CSV sont-ils encore des tableaux dans l'ODT ?
Oui. pandoc lit les tableaux du CSV dans son propre arbre de document et les réécrit en syntaxe ODT, si bien que vous obtenez un tableau qu'une machine sait analyser plutôt qu'une image de tableau.
La conversion CSV vers ODT est-elle gratuite ?
Il y a une franchise gratuite chaque mois, et une conversion CSV vers ODT coûte un demi-crédit dessus. Quand la franchise est épuisée, l'outil le dit et s'arrête, plutôt que de vous remettre discrètement un ODT moins bon.