Ouvrez un CSV et choisissez comment le couper : un nombre fixe de lignes par fichier, une taille maximale, un nombre de fichiers, ou un fichier par valeur d’une colonne. Chaque partie est une copie octet pour octet des enregistrements d’origine, avec l’en-tête répété en haut : les guillemets, les fins de ligne, l’encodage et le BOM restent identiques. Prévisualisez la liste des parties, puis téléchargez-les une par une ou toutes ensemble dans un ZIP. Les fichiers de plus de 25 Mo peuvent aussi être découpés, et rien n’est envoyé sur un serveur.
Découper un fichier CSV, étape par étape
- Ouvrez un fichier
.csv,.tsvou.txt, déposez-le sur l’outil ou collez des lignes. La première ligne est traitée comme l’en-tête. - Choisissez le critère de découpage et indiquez le nombre de lignes, la taille maximale en octets, le nombre de fichiers ou la colonne.
- Prévisualisez les parties pour voir le nom, le nombre de lignes et la taille de chaque fichier, puis téléchargez une seule partie ou toutes dans un même ZIP.
Les parties portent le nom du fichier d’origine : orders.csv devient orders-part-001.csv, orders-part-002.csv… Un fichier .tsv garde l’extension .tsv. Le ZIP s’appelle orders-parts.zip.
Les modes de découpage
| Lignes par fichier | Chaque partie reçoit ce nombre de lignes de données ; la dernière reçoit le reste. L’en-tête n’est pas compté. |
|---|---|
| Taille maximale par fichier | Chaque partie est remplie d’enregistrements entiers jusqu’à ce que le suivant fasse dépasser la taille, comptée en octets en incluant l’en-tête et le BOM. Un enregistrement n’est jamais coupé en deux : un enregistrement isolé plus gros que la limite arrête donc le découpage avec une erreur qui le désigne. |
| Nombre de fichiers | L’outil compte d’abord les enregistrements, puis place le même nombre de lignes dans chaque partie, arrondi au supérieur (1 000 fichiers au maximum). À cause de cet arrondi, vous pouvez obtenir moins de fichiers que demandé : 5 lignes en 4 fichiers donnent des parties de 2, 2 et 1. |
| Un fichier par valeur de colonne | Les lignes sont regroupées selon la valeur exacte de la colonne choisie, et chaque valeur donne orders-West.csv, orders-East.csv…, dans l’ordre de première apparition. Dans chaque partie, les lignes gardent leur ordre d’origine. 1 000 valeurs distinctes au maximum. |
| Répéter l’en-tête dans chaque partie | Activé par défaut. Désactivez-le pour ne garder l’en-tête que dans la première partie, par exemple si les parties doivent être recollées plus tard. |
Comment les données délicates sont traitées
- Les valeurs entre guillemets qui contiennent le séparateur ou des sauts de ligne restent dans leur enregistrement, lu selon la RFC 4180. Une adresse sur plusieurs lignes n’est jamais répartie sur deux parties.
- Les enregistrements sont copiés en octets bruts, sans être réanalysés ni réécrits : guillemets, fins de ligne et zéros initiaux sont conservés à l’identique. Un BOM UTF-8 placé au début du fichier est écrit au début de chaque partie, pour qu’Excel reconnaisse toujours chacune comme de l’UTF-8.
- Les lignes vides entre les enregistrements sont ignorées. Si le dernier enregistrement n’a pas de saut de ligne, la partie reçoit la fin de ligne propre au fichier.
- Les valeurs de colonne sont comparées exactement :
Westetwestdonnent deux fichiers distincts. Comme beaucoup de systèmes de fichiers ignorent la casse, le second s’appelleorders-west-2.csvau lieu d’écraser le premier. - Dans les noms de fichiers, les caractères comme
/ \ : * ? " < > |deviennent_, les noms sont coupés à 60 caractères, et une valeur vide donneorders-empty.csv. Consultez la colonne des valeurs dans l’aperçu pour savoir exactement quelle valeur contient chaque fichier.
Les encodages pris en charge
Le découpage travaille directement sur les octets, ce qui est sûr pour l’UTF-8 et les encodages sur un octet comme le Windows-1252. Les fichiers UTF-16 ne peuvent pas être découpés ainsi : enregistrez-les d’abord en UTF-8, par exemple avec Mettre en forme un CSV. Les fichiers Shift_JIS, GB18030, GBK et Big5 peuvent être découpés si le séparateur est une virgule, un point-virgule ou une tabulation, mais pas une barre verticale, car l’octet de la barre peut apparaître à l’intérieur d’un caractère dans ces encodages. L’outil vous prévient avant de commencer lorsqu’un fichier ne peut pas être découpé.
En cas de problème
- Un enregistrement dépasse la taille de partie choisie. Augmentez la taille maximale : elle doit pouvoir contenir l’en-tête plus le plus gros enregistrement.
- Ce découpage créerait plus de 1 000 fichiers. Augmentez le nombre de lignes par fichier ou la taille, ou demandez moins de fichiers.
- Cette colonne a plus de 1 000 valeurs distinctes. Découpez selon une colonne plus large, par exemple la région plutôt que le client, ou filtrez d’abord le fichier.
- Une valeur entre guillemets n’est jamais refermée. Un guillemet ouvert quelque part dans le fichier n’est jamais fermé, si bien que tout le reste du fichier formerait un seul enregistrement. Repérez-le avec Valider un CSV.
Gros fichiers et confidentialité
Le découpage n’est pas limité à 25 Mo. Un fichier plus gros affiche un aperçu de ses 200 premières lignes, et le découpage lit le fichier entier par morceaux de 8 Mo, ce qui limite l’utilisation de la mémoire. Les parties sont conservées comme données de fichier du navigateur jusqu’à leur téléchargement ; la limite pratique est l’espace de stockage libre dont dispose votre navigateur.
Le découpage s’exécute dans un worker en arrière-plan, dans cet onglet, et Annuler l’interrompt. Le fichier n’est jamais envoyé sur un serveur. Pour rassembler les parties, utilisez Fusionner des fichiers CSV ; pour réduire un fichier au lieu de le couper, utilisez Compresser un CSV.
Exemple
Un petit export de commandes avec des fins de ligne CRLF (représentées ici par de simples retours à la ligne) et une note sur plusieurs lignes, découpé en parties de 2 lignes avec l’en-tête répété. Le saut de ligne entre guillemets reste dans la commande A2, et le dernier enregistrement, qui n’avait pas de saut de ligne dans le fichier d’entrée, reçoit la fin de ligne CRLF du fichier.
order_id,region,note A1,West,ok A2,East,"two lines" A3,West,"a, b" A4,,late A5,east,ok
orders-part-001.csv (2 rows) order_id,region,note A1,West,ok A2,East,"two lines" orders-part-002.csv (2 rows) order_id,region,note A3,West,"a, b" A4,,late orders-part-003.csv (1 row) order_id,region,note A5,east,ok
Questions fréquentes
Chaque partie s’ouvrira-t-elle correctement dans Excel ?
Oui, si l’original s’ouvrait correctement : chaque partie a le même en-tête, le même séparateur et le même encodage, et garde le BOM UTF-8 si l’original en avait un.
Puis-je découper selon une colonne sans ligne d’en-têtes ?
Non. La première ligne est toujours lue comme l’en-tête, et la colonne est choisie d’après son nom. Ajoutez d’abord une ligne d’en-têtes, par exemple dans l’éditeur CSV.
Pourquoi ai-je obtenu moins de fichiers que demandé ?
Le mode « nombre de fichiers » place le même nombre de lignes dans chaque partie, arrondi au supérieur : les lignes peuvent donc être épuisées avant le dernier fichier. 10 lignes en 4 fichiers donnent 3, 3, 3 et 1 ; 10 lignes en 6 fichiers donnent cinq fichiers de 2.