Aller directement à l’outil
ViewCSV
Aucun envoi de fichier

Compresser un CSV

Déposez ici un fichier CSV, .gz ou .zip
Action
Les octets du fichier sont compressés tels quels : la restauration redonne exactement le même fichier, encodage, BOM et fins de ligne compris.
Ouvrez un fichier à compresser ou à restaurer.

Ouvrez un CSV et choisissez gzip ou ZIP : le fichier compressé se télécharge dès qu’il est prêt, orders.csv devenant orders.csv.gz ou orders.zip. Pour l’opération inverse, ouvrez un fichier .gz ou .zip et restaurez les fichiers qu’il contient. Les octets ne sont ni analysés ni modifiés : l’encodage, le séparateur, les guillemets, les fins de ligne et l’éventuel BOM reviennent exactement comme avant. La compression a lieu dans votre navigateur ; le fichier n’est jamais envoyé.

Compresser ou restaurer un CSV, étape par étape

  1. Ouvrez ou déposez un fichier. Un fichier qui se termine par .gz ou .zip fait passer l’outil en mode restauration ; tout autre fichier est compressé.
  2. Choisissez gzip ou ZIP et un niveau de compression de 1 à 9. La valeur par défaut, 6, offre l’équilibre habituel entre taille et durée.
  3. Lancez le traitement. Le résultat se télécharge, et l’outil affiche la taille avant et après ainsi que le taux de compression.

Gzip ou ZIP ?

Gzip (.csv.gz)Un seul fichier compressé, défini par la RFC 1952. Les outils en ligne de commande, les entrepôts de données et de nombreuses chaînes d’import lisent directement le .csv.gz. Le nom du fichier d’origine est enregistré à l’intérieur.
ZIP (.zip)Une archive contenant une seule entrée sous le nom du fichier d’origine. Elle s’ouvre d’un double-clic sous Windows et macOS : elle convient donc aux pièces jointes et aux personnes qui n’utilisent pas la ligne de commande.
Niveau de compression1 est le plus rapide, 9 travaille le plus pour obtenir un fichier plus petit. Sur un CSV ordinaire, l’écart entre 6 et 9 est faible, et sur un petit fichier il peut être nul.
RestaurationUn fichier .gz redonne le fichier unique qu’il contient. Un .zip redonne tous les fichiers qu’il contient ; les dossiers sont ignorés et leurs chemins retirés des noms. Un fichier unique se télécharge immédiatement ; s’il y en a plusieurs, ils sont listés avec un bouton de téléchargement chacun.

Compresser le même fichier au même niveau donne toujours les mêmes octets, car les horodatages écrits dans l’en-tête gzip et dans les entrées ZIP sont fixes et non égaux à l’heure courante. Vous pouvez donc calculer une somme de contrôle du résultat ou le conserver dans un système de gestion de versions.

Ce qui est conservé à l’identique

  • Le fichier est traité comme une suite d’octets et non comme un tableau : rien n’est réencodé. Un export en Windows-1252 ou en Shift_JIS, un séparateur point-virgule, des fins de ligne CRLF et un BOM UTF-8 sont tous restaurés sans changement. Les zéros initiaux et les identifiants longs ne sont pas touchés, puisqu’aucune valeur n’est jamais lue.
  • Les sauts de ligne entre guillemets et les guillemets égarés n’ont aucune importance pour la compression : même un CSV mal formé est compressé et restauré tel quel. Pour contrôler le fichier lui-même, utilisez Valider un CSV.
  • Gzip enregistre le nom en Latin-1, comme l’impose la RFC 1952 : un nom de fichier dans une autre écriture, en chinois ou en cyrillique par exemple, peut ne pas revenir intact. Utilisez ZIP pour ce type de nom, ou renommez le fichier après la restauration.
  • Quand un ZIP contient deux fichiers de même nom dans des dossiers différents, les deux sont restaurés sous ce nom. Renommez-les au moment du téléchargement.

En cas de problème

  • Ce n’est pas un fichier gzip ou ZIP. Les premiers octets du fichier ne correspondent pas à une signature gzip ou ZIP ; il s’agit peut-être d’un simple CSV nommé .gz, ou d’un autre type d’archive comme 7z ou RAR. Passez en mode gzip ou ZIP pour plutôt le compresser.
  • Les données gzip sont endommagées ou incomplètes. La somme de contrôle ou la longueur enregistrée à la fin du fichier ne correspond pas, ce qui signifie en général que le téléchargement a été interrompu. Récupérez de nouveau le fichier.
  • Les données ZIP sont endommagées ou utilisent une méthode non prise en charge. Seules les entrées stockées ou compressées en Deflate peuvent être restaurées ; les méthodes comme Deflate64, BZIP2 ou LZMA ne sont pas prises en charge. Les ZIP protégés par mot de passe ne le sont pas non plus : extrayez-les avec un logiciel d’archivage qui demande le mot de passe.
  • Le fichier compressé est à peine plus petit. Un CSV aux nombreuses valeurs distinctes, comme des identifiants aléatoires ou des empreintes, se compresse moins bien que des données répétitives, et les très petits fichiers gagnent peu car le format ajoute un en-tête fixe. Une conversion en Parquet peut réduire davantage des données typées en colonnes.

Gros fichiers et confidentialité

Il n’y a pas de limite de 25 Mo ici, car le fichier n’est jamais chargé comme un tableau : il est lu par morceaux de 4 Mo, puis compressé ou restauré en flux. La restauration s’arrête sur une erreur dès que les données restaurées dépasseraient 4 Go au total, ce qui protège l’onglet contre les « bombes ZIP » qui se décompressent en fichiers énormes.

Le traitement s’exécute dans un worker en arrière-plan, dans cet onglet, et Annuler l’interrompt. Rien n’est envoyé sur un serveur. Pour réduire un gros fichier en le coupant plutôt en morceaux, utilisez Découper un CSV, qui peut aussi télécharger les parties dans un seul ZIP.

Exemple

Un export de 12 commandes avec points-virgules, virgules décimales et références SKU à zéros initiaux (premières lignes affichées), soit 374 octets au total. Gzip donne les mêmes 185 octets aux niveaux 1, 6 et 9, car le fichier est très petit ; ZIP ajoute un en-tête d’archive plus volumineux. La restauration de l’un ou l’autre fichier redonne les 374 octets sans changement.

CSV
order_id;region;sku;qty;amount
SO-1001;North;00123;1;19,90
SO-1002;South;00124;2;38,90
SO-1003;East;00125;3;57,90
SO-1004;West;00123;4;76,90
…
Résultat
orders-march.csv.gz   185 bytes (49.5 %), restores to orders-march.csv
orders-march.zip      296 bytes (79.1 %), one entry: orders-march.csv
Restored orders-march.csv   374 bytes, identical to the original

Questions fréquentes

Puis-je compresser plusieurs fichiers CSV dans un seul ZIP ?

Pas sur cette page : elle compresse un fichier à la fois. Découper un CSV télécharge toutes ses parties dans un seul ZIP, et la restauration d’un ZIP ici redonne chacun des fichiers qu’il contient.

Un fichier .csv.gz est-il encore un CSV ?

C’est un CSV compressé avec gzip. Les outils qui prennent en charge gzip, comme gunzip, les commandes d’import de la plupart des bases de données et les bibliothèques de traitement de données, le lisent directement ; les autres demandent de le restaurer d’abord en .csv, ce que fait cette page.

La compression modifie-t-elle mes données ?

Non. La compression gzip et ZIP est sans perte, et cet outil n’analyse jamais le CSV : le fichier restauré est la même suite d’octets que l’original.

Normes et références