Le CSV est un tableau et rien d'autre, sans formules ni mise en forme de cellule. L'ODS est un classeur OpenDocument, le format natif de LibreOffice Calc. LibreOffice se tient entre les deux, et cette page dit exactement ce qui arrive à un fichier CSV en route vers l'ODS.
Ce qui s'exécute quand un fichier CSV devient un ODS
LibreOffice 24.2, sur une machine que nous louons et que nous surveillons. Votre fichier CSV est envoyé une fois, LibreOffice s'exécute une fois, le fichier ODS revient, et aucun des deux fichiers n'est conservé. CSV vers ODS 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 ODS
Chaque valeur et chaque ligne du fichier CSV. Un CSV ne porte rien d'autre que ses valeurs : il n'y a donc rien d'autre qui puisse se perdre en route vers l'ODS.
Les types, déduits à l'entrée. Les nombres arrivent en nombres et les dates en dates dans l'ODS, ce qui permet de les trier et de les totaliser sans toucher à chaque cellule.
Ce que la conversion CSV vers ODS vous coûte
Rien, et il vaut mieux le dire franchement que d'inventer une réserve. Un fichier CSV porte des valeurs et un séparateur ; l'ODS porte tout cela et davantage. Ce qui change, c'est ce que vous pouvez en faire, pas ce qu'il contient.
Une réserve qui n'est pas une perte mais qui surprend : l'ODS décide de ce que votre texte veut dire. Une cellule qui porte 03/04 devient une date, et une qui porte 007 perd ses zéros, parce que c'est ce qu'un tableur fait d'une valeur nue. Le fichier CSV ne disait rien des types ; il fallait bien que quelqu'un tranche.
D'où viennent les fichiers CSV et ODS
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.
ODS. LibreOffice Calc et OpenOffice l'écrivent nativement. C'est la norme ISO/IEC 26300, ce qui explique que plusieurs administrations le réclament par son nom dans leurs marchés, et qu'un fichier qui arrive en ODS vienne souvent de l'une d'elles.
Si un modèle doit lire le fichier ODS
La structure est ce qui subsiste du fichier CSV, et la structure est ce dont un modèle a besoin. CSV en entrée, ODS en sortie, avec l'arbre des titres intact plutôt qu'aplati en un seul long paragraphe.
CSV vers ODS, mesuré plutôt que promis
En passant CSV vers ODS sur le moteur réel avec un vrai fichier, LibreOffice a écrit 10 944 octets au format ODS en 1,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 ODS a été obtenu par la relecture du type interne et la recherche d'un mot témoin, c'est-à-dire que la sortie a été relue et reconnue. 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 ODS 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 ODS 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 ODS, et ce qu'elles ont mesuré
Parmi les routes publiées vers ODS, CSV est la troisième plus grosse sortie des 3 mesurées. Les fichiers témoins diffèrent : ce classement porte sur la sonde et non sur votre document.
XLS vers ODS : 12 285 octets en 1,1 secondes.
XLSX vers ODS : 12 517 octets en 1,2 secondes.
Ce que nous ne prétendrons pas sur CSV vers ODS
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 ODS qui dépasse 90 secondes est tuée, et le processus LibreOffice 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.
LibreOffice est sérialisé exprès, un document à la fois par travailleur, parce que chaque instance de soffice prend 150 à 300 Mo sur une machine qui en a 3,8 Go. Plafond mesuré : 23 conversions CSV en vol et environ 0,9 par seconde en régime établi. Au-delà, la file répond 429 plutôt que de s'écrouler, ce qui a été testé à 32 simultanées.
Les deux tiers des paires qu'on pourrait imaginer dans cette famille n'existent pas, et il vaut mieux savoir pourquoi avant d'en chercher une. LibreOffice convertit à l'intérieur de l'application qui a ouvert votre fichier : depuis un tableur, il écrit des tableurs, du texte brut, du HTML et du PDF, et il n'écrira pas de .docx quelle que soit la façon dont on le lui demande. Il ne rend rien du tout plutôt que quelque chose de faux. Sur 113 combinaisons sondées sur ce moteur, 64 sont revenues avec un vrai fichier et le reste a été refusé net.
Cette paire fait partie des 64. Elle a été prouvée en envoyant un vrai fichier CSV par la route vivante et en lisant l'ODS qui revenait : non pas son extension, ses entrailles, plus un mot témoin planté dans la source et retrouvé dans la sortie. Les propriétés nommées plus haut sur cette page viennent d'une seconde sonde qui les cherche une à une.
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 ODS : les questions que l'on pose
Qu'est-ce qui convertit vraiment mon fichier CSV en ODS ?
C'est LibreOffice qui s'en charge, en 24.2, 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, LibreOffice s'exécute une fois, l'ODS revient, et aucun des deux fichiers n'est conservé ensuite.
Combien de temps prend une conversion CSV vers ODS ?
Sur le fichier utilisé par la sonde, LibreOffice a mis 1,1 seconde et écrit 10 944 octets d'ODS. 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 90 secondes l'exécution est arrêtée.
Qu'est-ce que je perds en passant du CSV à l'ODS ?
Celle qu'il faut connaître en premier : rien, et il vaut mieux le dire franchement que d'inventer une réserve. Un fichier CSV porte des valeurs et un séparateur ; l'ODS porte tout cela et davantage. Ce qui change, c'est ce que vous pouvez en faire, pas ce qu'il contient.
Mes zéros de tête ont-ils survécu ?
Probablement pas, et c'est la seule chose à vérifier. Un fichier CSV ne dit rien de ce que ses valeurs signifient : l'ODS doit donc trancher, 007 devient 7 et 03/04 devient une date. C'est ce qu'un tableur fait d'une valeur nue. Si ces colonnes comptent, mettez-les au format texte dans l'ODS une fois ouvert.
La conversion CSV vers ODS est-elle gratuite ?
Il y a une franchise gratuite chaque mois, et une conversion CSV vers ODS 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 ODS moins bon.