mygems

Como abrir um arquivo CSV de 1 GB (2026 guide)

Com um gigabyte, a maioria das ferramentas deixa de ser sincera. O que abre um CSV de 1 GB, quanto custa em RAM e o que trunca em silêncio.

Por uos ·

Um gigabyte de CSV são cerca de cinco a dez milhões de linhas de dados tabulares comuns. Esse número importa mais que o gigabyte, porque já é cinco vezes o que cabe em uma planilha, então a primeira coisa a aceitar é que “abrir no Excel” nunca esteve entre as opções.

O que sobra depende de uma pergunta: você precisa olhar o arquivo ou precisa tirar uma resposta dele?

  • Uma resposta — um total, um filtro, um join, a contagem de duplicados: DuckDB. Um comando, dez segundos, sem importar nada.
  • Olhar — rolar, buscar, ter uma ideia do formato dos dados: um visualizador feito para ler em streaming. EmEditor no Windows, less em qualquer lugar, um app de celular se o arquivo estiver lá.
  • Editar e salvar de volta: o caso mais difícil, com menos respostas boas. Veja abaixo.

A comparação

Os tempos valem para um arquivo de 1 GB com cerca de 8 milhões de linhas em um notebook comum de 16 GB com SSD. São indicativos, não benchmarks. Suas colunas e seu disco vão mudá-los. A coluna que não muda é a última.

FerramentaAbre 1 GB?Tempo até a primeira linhaPico de RAMCusto
ExcelNão — limite de 1.048.576 linhas——Pago
Excel + Power QuerySim, como etapa de cargaMinutosAltoPago
Google SheetsNão — 10 mi de células, ~100 MB de upload——Grátis
NumbersNão — 1 mi de linhas, e fica lento antes——Grátis
DuckDBSim~1 s~200 MBGrátis
Python + pandasSim, com chunksize30 s+5–10 GB se usado do jeito ingênuoGrátis
Python + PolarsSim~5 s~1,5 GBGrátis
EmEditor (Windows)Sim, com folga~5 sBaixoPago
VS CodeSofre30 s+AltoGrátis
less / head / awkSimInstantâneo~0Grátis
OpenRefineSim, devagarMinutosAltoGrátis
App de CSV para celularSim, se for feito para issoSegundosGerenciadoPlano gratuito

Duas linhas são armadilhas. O Google Sheets anuncia 10 milhões de células, o que parece perto, mas um arquivo de 20 colunas atinge esse limite com 500.000 linhas, e o limite de upload te barra muito antes. O pandas abre o arquivo sem reclamar e depois usa oito vezes o tamanho dele em RAM, porque guarda cada coluna de texto como objetos Python. É a experiência de “abriu, mas o notebook morreu” por causa do swap descontrolado.

Conforme o que você está fazendo de verdade

Você precisa de uma resposta

DuckDB, e não é nem uma disputa apertada:

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

Ele lê o arquivo em paralelo, processa em streaming em vez de carregar tudo e nunca aloca muito mais que o espaço de trabalho da sua consulta. Um GROUP BY sobre 8 milhões de linhas termina em alguns segundos. O tratamento completo (forçar tipos, juntar dois arquivos, gravar os resultados) está em executar consultas SQL em um CSV sem banco de dados.

Se preferir ficar no Python, use o Polars com scan_csv (preguiçoso: planeja a consulta inteira antes de ler) ou o pandas com um chunksize explícito e um mapa de dtype. O que você deve evitar é o pd.read_csv('big.csv') ingênuo.

Você precisa olhar o arquivo

No Windows, o EmEditor. É o único editor de arquivos grandes que aguenta, e abre CSVs de vários GB como uma grade, com ordenação e filtro. É pago; vale o preço se esse problema for recorrente.

Em qualquer lugar, o shell. Subestimado nos primeiros cinco minutos com qualquer arquivo grande:

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

Fazer uma amostra de 1.000 linhas e abrir essa no Excel responde “o que tem neste arquivo?” mais rápido que qualquer ferramenta que abra o arquivo todo.

Nem VS Code, nem Notepad++. Os dois carregam o arquivo inteiro na memória como texto. Conseguem, só que devagar, com um aviso e sem uma visualização em tabela útil no fim.

O arquivo está no seu celular

O caso de 1 GB é difícil aqui: celulares têm menos RAM que notebooks e limites mais rígidos para o que um app pode manter. Nada no celular abre um gigabyte inteiro com conforto, então teste qualquer app que diga o contrário antes de confiar nele. O que os apps de celular fazem bem é a faixa logo abaixo: exportações de 100–500 MB e várias centenas de milhares de linhas, que uma planilha de celular trunca em silêncio.

CSV File Viewer - Smart CSViPhone e iPad · Android

Abre arquivos grandes sem truncá-los e depois responde perguntas sobre os dados com SQL ou em linguagem natural, que normalmente é o que você queria de um arquivo grande demais para rolar. iOS e Android.

O que ele faz

Antes de confiar um arquivo importante a um app de celular, faça a verificação da última seção desta página.

Você precisa editar e salvar de volta

Este é o caso com menos respostas honestas, porque “editar” significa manter o arquivo e gravá-lo inteiro de novo.

  • Algumas mudanças pontuais — corrigir um valor, remover uma coluna: faça com DuckDB ou awk e grave um arquivo novo. É mais rápido que qualquer ferramenta interativa e deixa o original intacto.
  • Edição interativa de verdade no Windows: EmEditor.
  • Edição interativa de verdade em outros sistemas: divida o arquivo antes. split -l 1000000 big.csv part_ gera pedaços que uma planilha comporta, ao custo de ter que juntá-los depois (cat funciona, mas apague as linhas de cabeçalho repetidas).
  • Abaixo de cerca de 500.000 linhas, um editor de celular resolve direto:
CSV Editor - Smart CSViPhone e iPad

Edição no estilo planilha em arquivos de 500.000 linhas, com todas as linhas regravadas ao salvar, inclusive na versão gratuita. iOS e iPadOS.

O que ele faz

Convertendo o problema para fora do caminho

Se você vai mexer no arquivo mais de duas vezes, pare de tratá-lo como CSV:

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

Parquet é colunar, tipado e comprimido. O CSV de 1 GB vira 100–200 MB, as consultas que varrem poucas colunas ficam de cinco a vinte vezes mais rápidas, e os tipos contra os quais você brigava agora ficam guardados no arquivo. DuckDB, Polars e pandas o leem nativamente. São os dez segundos de maior valor deste artigo.

Testando se uma ferramenta realmente abriu tudo

Muitas ferramentas abrem um CSV grande abrindo só parte dele, sem dizer qual. Antes de tirar uma conclusão de um arquivo, verifique:

  1. Conte as linhas primeiro, fora da ferramenta: wc -l big.csv. Subtraia um pelo cabeçalho.
  2. Vá até a última linha na ferramenta e compare a contagem.
  3. Compare o conteúdo da última linha com tail -1 big.csv.

Se não baterem, a ferramenta truncou. Qualquer conclusão que você tirar (um total, um máximo, “não há pedidos dessa região”) estará errada de um jeito que nada na tela avisa. O truncamento silencioso é o perigo real com arquivos grandes, mais que travamentos: um travamento, pelo menos, é honesto.

Se foi especificamente o Excel que falhou

Dois problemas vizinhos que são fáceis de confundir. Se o Excel recusou o arquivo ou mostrou só uma parte, é o limite de linhas, e como abrir um arquivo CSV grande que o Excel não abre mostra os caminhos para contorná-lo. Se o Excel abriu o arquivo e depois congelou, travou ou fechou, é outra falha com outras causas, explicada em por que o Excel trava com arquivos grandes.

Perguntas

Quantas linhas tem um arquivo CSV de 1 GB?
Cerca de cinco a dez milhões em dados tabulares comuns, dependendo de quantas colunas existem e do tamanho dos valores. Isso já é cinco vezes o limite de 1.048.576 linhas de uma planilha do Excel, por isso o número de linhas importa mais que o tamanho do arquivo.
Qual é a forma mais rápida de abrir um arquivo CSV de 1 GB?
DuckDB, se você quer tirar uma resposta dele. Ele consulta o arquivo no lugar em cerca de um segundo e usa algumas centenas de megabytes de RAM. Se quer rolar pelo arquivo, o EmEditor no Windows o abre como grade, e o `less -S` funciona em qualquer lugar e inicia na hora.
O Excel consegue abrir um arquivo CSV de 1 GB?
Não diretamente. Uma planilha comporta 1.048.576 linhas e um CSV de 1 GB geralmente tem várias vezes isso, então o Excel carrega o que cabe e para. O Power Query pode processar o arquivo inteiro como uma etapa de carga e resumo sem colocar cada linha em uma planilha, mas é um fluxo de trabalho diferente de abrir o arquivo.
Por que o pandas usa 8 GB de RAM para ler um CSV de 1 GB?
Porque as colunas de texto são guardadas como objetos Python, cada um com seu próprio overhead de memória, e o read_csv monta o DataFrame inteiro na memória antes de retornar. Passe um mapa de dtype e um chunksize, use o motor pyarrow ou use o Polars, cujo scan_csv planeja a consulta de forma preguiçosa e lê bem menos.
Como sei se uma ferramenta truncou meu CSV?
Conte as linhas fora da ferramenta com `wc -l`, depois vá até a última linha dentro da ferramenta e compare, inclusive o conteúdo da última linha contra `tail -1`. O truncamento silencioso é mais perigoso que um travamento, porque então todo total e todo máximo que você lê na tela está errado sem que você perceba.
Devo converter um CSV grande para Parquet?
Se você for consultá-lo mais de duas vezes, sim. Um único comando COPY do DuckDB transforma um CSV de 1 GB em um arquivo Parquet de 100–200 MB, tipado, colunar e de cinco a vinte vezes mais rápido de varrer, e DuckDB, Polars e pandas o leem nativamente.

uos — Cria o CSV Editor e o Smart CSV Viewer e mediu quase toda esta tabela por interesse próprio.