mygems

Comment ouvrir un fichier CSV de 1 Go (2026 guide)

À un gigaoctet, la plupart des outils cessent d'être honnêtes. Ce qui ouvre un CSV de 1 Go, ce que ça coûte en RAM et ce qui tronque en silence.

Par uos ·

Un gigaoctet de CSV représente environ cinq à dix millions de lignes de données tabulaires ordinaires. Ce chiffre compte plus que le gigaoctet, parce qu'il vaut déjà cinq fois ce qu'une feuille de calcul peut contenir. Première chose à admettre : « l'ouvrir dans Excel » n'a jamais été une option.

Ce qui reste dépend d'une seule question : avez-vous besoin de regarder le fichier, ou d'en tirer une réponse ?

  • Une réponse — un total, un filtre, une jointure, un décompte de doublons : DuckDB. Une commande, dix secondes, aucun import.
  • Regarder — faire défiler, chercher, se faire une idée de la forme des données : un lecteur conçu pour le streaming. EmEditor sous Windows, less partout, une application mobile si le fichier est sur votre téléphone.
  • Modifier et réenregistrer : le cas le plus difficile, avec le moins de bonnes réponses. Voir plus bas.

Le comparatif

Les durées valent pour un fichier de 1 Go d'environ 8 millions de lignes, sur un portable ordinaire avec 16 Go de RAM et un SSD. Elles sont indicatives, ce ne sont pas des benchmarks. Vos colonnes et votre disque les feront bouger. La dernière colonne, elle, ne bouge pas.

OutilOuvre 1 Go ?Temps avant la 1re ligneRAM maxCoût
ExcelNon — plafond de 1 048 576 lignes——Payant
Excel + Power QueryOui, comme étape de chargementMinutesÉlevéePayant
Google SheetsNon — 10 M de cellules, ~100 Mo en envoi——Gratuit
NumbersNon — 1 M de lignes, et lent bien avant——Gratuit
DuckDBOui~1 s~200 MoGratuit
Python + pandasOui, avec chunksize30 s+5–10 Go en version naïveGratuit
Python + PolarsOui~5 s~1,5 GoGratuit
EmEditor (Windows)Oui, sans effort~5 sFaiblePayant
VS CodePeine30 s+ÉlevéeGratuit
less / head / awkOuiInstantané~0Gratuit
OpenRefineOui, lentementMinutesÉlevéeGratuit
Appli CSV mobileOui, si elle est conçue pourSecondesGéréeVersion gratuite

Deux lignes sont des pièges. Google Sheets annonce 10 millions de cellules, ce qui semble proche, mais un fichier de 20 colonnes atteint cette limite à 500 000 lignes, et la limite d'envoi vous arrête bien avant. pandas ouvre volontiers le fichier, puis consomme huit fois sa taille en RAM, parce qu'il stocke chaque colonne de texte sous forme d'objets Python. C'est le fameux « ça s'est ouvert, mais le portable est mort », avec le swap qui s'emballe.

Selon ce que vous faites vraiment

Vous avez besoin d'une réponse

DuckDB, et ce n'est même pas serré :

duckdb -c "SELECT region, COUNT(*), SUM(amount) FROM 'big.csv' GROUP BY region"

Il lit le fichier en parallèle, en flux plutôt qu'en le chargeant, et n'alloue jamais beaucoup plus que l'espace de travail de votre requête. Un GROUP BY sur 8 millions de lignes se termine en quelques secondes. Le tour complet (forcer les types, joindre deux fichiers, réécrire les résultats) se trouve dans exécuter des requêtes SQL sur un CSV sans base de données.

Si vous préférez rester en Python, utilisez Polars avec scan_csv (paresseux : il planifie toute la requête avant de lire) ou pandas avec un chunksize explicite et une table dtype. Le pd.read_csv('big.csv') naïf est à éviter.

Vous avez besoin de regarder le fichier

Sous Windows, EmEditor. C'est le seul éditeur de gros fichiers qui tienne la route, et il ouvre des CSV de plusieurs Go sous forme de grille, avec tri et filtre. Il est payant ; il vaut son prix si le problème revient régulièrement.

Partout, le shell. Sous-estimé pour les cinq premières minutes avec n'importe quel gros fichier :

head -5 big.csv                 # what are the columns
wc -l big.csv                   # how many rows really
awk -F, 'NR<=1000' big.csv > sample.csv   # a slice you can open normally
less -S big.csv                 # scroll it, no line wrapping

Créer un échantillon de 1 000 lignes et ouvrir celui-là dans Excel répond à « qu'y a-t-il dans ce fichier ? » plus vite que n'importe quel outil qui ouvre tout.

Ni VS Code, ni Notepad++. Tous deux chargent le fichier entier en mémoire comme du texte. Ils y arrivent, mais lentement, avec un avertissement, et sans vue en tableau utilisable à la fin.

Le fichier est sur votre téléphone

Le cas du 1 Go est difficile ici : les téléphones ont moins de RAM que les portables et des limites plus strictes sur ce qu'une appli peut garder. Rien sur un téléphone n'ouvre confortablement un gigaoctet complet, donc testez toute appli qui prétend le contraire avant de lui faire confiance. Ce que les applis mobiles font bien, c'est la tranche juste en dessous : les exports de 100 à 500 Mo, de plusieurs centaines de milliers de lignes, qu'un tableur mobile tronque en silence.

CSV File Viewer - Smart CSViPhone et iPad · Android

Ouvre les gros fichiers sans les tronquer, puis répond aux questions sur les données en SQL ou en langage courant, ce qu'on attend le plus souvent d'un fichier trop gros pour défiler. iOS et Android.

Ce que ça fait

Avant de confier un fichier important à une appli mobile, faites la vérification décrite dans la dernière section de cette page.

Vous devez le modifier et le réenregistrer

C'est le cas qui a le moins de réponses honnêtes, car « modifier » veut dire tenir le fichier en mémoire puis le réécrire en entier.

  • Quelques changements ciblés — corriger une valeur, supprimer une colonne : faites-le avec DuckDB ou awk et écrivez un nouveau fichier. C'est plus rapide que n'importe quel outil interactif et l'original reste intact.
  • Vraie modification interactive sous Windows : EmEditor.
  • Vraie modification interactive ailleurs : découpez d'abord le fichier. split -l 1000000 big.csv part_ donne des morceaux qu'un tableur peut contenir, au prix de devoir les réassembler (cat fonctionne, mais supprimez les lignes d'en-tête répétées).
  • Sous environ 500 000 lignes, un éditeur mobile s'en charge directement :
CSV Editor - Smart CSViPhone et iPad

Édition façon tableur sur des fichiers de 500 000 lignes, chaque ligne étant réécrite à l'enregistrement, y compris dans la version gratuite. iOS et iPadOS.

Ce que ça fait

Faire disparaître le problème par conversion

Si vous touchez le fichier plus de deux fois, cessez de le traiter comme un CSV :

duckdb -c "COPY (SELECT * FROM 'big.csv') TO 'big.parquet'"

Parquet est en colonnes, typé et compressé. Le CSV de 1 Go tombe à 100–200 Mo, les requêtes qui balaient quelques colonnes vont cinq à vingt fois plus vite, et les types sur lesquels vous butiez sont maintenant stockés dans le fichier. DuckDB, Polars et pandas le lisent nativement. Ce sont les dix secondes les plus rentables de cet article.

Vérifier qu'un outil a vraiment ouvert tout le fichier

Beaucoup d'outils ouvrent un gros CSV en n'en ouvrant qu'une partie, sans dire laquelle. Avant de tirer une conclusion d'un fichier, vérifiez :

  1. Comptez d'abord les lignes, hors de l'outil : wc -l big.csv. Retirez-en une pour l'en-tête.
  2. Allez à la dernière ligne dans l'outil et comparez le nombre.
  3. Comparez le contenu de la dernière ligne avec tail -1 big.csv.

Si ça ne concorde pas, l'outil a tronqué. Toute conclusion que vous en tirez (un total, un maximum, « il n'y a aucune commande dans cette région ») est alors fausse, sans que rien à l'écran ne vous le signale. La troncature silencieuse est le vrai danger avec les gros fichiers, plus que les plantages : un plantage a au moins le mérite d'être honnête.

Si c'est précisément Excel qui a échoué

Deux problèmes voisins, faciles à confondre. Si Excel a refusé le fichier ou n'en a montré qu'une partie, c'est le plafond de lignes, et comment ouvrir un gros fichier CSV qu'Excel n'ouvre pas présente les moyens de le contourner. Si Excel a ouvert le fichier puis s'est figé, a planté ou s'est bloqué, c'est une autre panne avec d'autres causes, détaillée dans pourquoi Excel plante sur les gros fichiers.

Questions

Combien de lignes contient un fichier CSV de 1 Go ?
Environ cinq à dix millions pour des données tabulaires ordinaires, selon le nombre de colonnes et la longueur des valeurs. C'est déjà cinq fois la limite de 1 048 576 lignes d'une feuille Excel, ce qui explique que le nombre de lignes compte plus que la taille du fichier.
Quelle est la façon la plus rapide d'ouvrir un fichier CSV de 1 Go ?
DuckDB, si vous voulez en tirer une réponse. Il interroge le fichier sur place en environ une seconde et utilise quelques centaines de mégaoctets de RAM. Pour le faire défiler, EmEditor sous Windows l'ouvre en grille, et `less -S` fonctionne partout et démarre instantanément.
Excel peut-il ouvrir un fichier CSV de 1 Go ?
Pas directement. Une feuille contient 1 048 576 lignes et un CSV de 1 Go en a généralement plusieurs fois plus, donc Excel charge ce qui rentre et s'arrête. Power Query peut traiter le fichier entier comme une étape de chargement et de synthèse sans mettre chaque ligne dans une feuille, mais c'est un autre flux de travail que l'ouverture.
Pourquoi pandas utilise-t-il 8 Go de RAM pour lire un CSV de 1 Go ?
Parce que les colonnes de texte sont stockées sous forme d'objets Python, chacun avec sa propre surcharge mémoire, et que read_csv construit tout le tableau en mémoire avant de le renvoyer. Passez une table dtype et un chunksize, utilisez le moteur pyarrow, ou prenez plutôt Polars, dont scan_csv planifie la requête paresseusement et lit beaucoup moins.
Comment savoir si un outil a tronqué mon CSV ?
Comptez les lignes hors de l'outil avec `wc -l`, puis allez à la dernière ligne dans l'outil et comparez, en vérifiant aussi le contenu de la dernière ligne avec `tail -1`. La troncature silencieuse est plus dangereuse qu'un plantage, car tous les totaux et tous les maximums lus à l'écran sont alors faux sans que vous le sachiez.
Dois-je convertir un gros CSV en Parquet ?
Si vous allez l'interroger plus de deux fois, oui. Une seule commande COPY de DuckDB transforme un CSV de 1 Go en fichier Parquet de 100–200 Mo, typé, en colonnes et de cinq à vingt fois plus rapide à parcourir ; DuckDB, Polars et pandas le lisent nativement.

uos — Développe CSV Editor et Smart CSV Viewer, et a mesuré l'essentiel de ce tableau par intérêt personnel.