Como abrir um arquivo CSV grande demais para o Excel
Uma planilha do Excel comporta no máximo 1.048.576 linhas e 16.384 colunas, então uma exportação com 3 milhões de linhas simplesmente não cabe — o Excel carrega a primeira parte, avisa e deixa o resto de fora. Para ver o arquivo inteiro, abra-o numa ferramenta sem esse limite, como o Visualizador de CSV, carregue-o no Modelo de Dados do Excel em vez de numa planilha, divida o arquivo ou analise com Python ou um banco de dados.
Por que o Excel corta o arquivo
Um arquivo CSV não tem limite de tamanho próprio. É texto puro: uma linha por registro, valores separados por vírgula ou ponto e vírgula (se isso é novidade para você, veja o que é um arquivo CSV). O Excel, porém, coloca tudo o que você abre numa planilha, e a planilha tem uma grade fixa: 1.048.576 linhas por 16.384 colunas (até a coluna XFD).
Quando o arquivo é maior que essa grade, o Excel mostra um aviso de que o arquivo não foi carregado por completo e fica só com as linhas que cabem. O cabeçalho e mais 1.048.575 linhas de dados entram; da linha 1.048.577 em diante, nada aparece na tela.
O Planilhas Google também não resolve. Ele tem um limite de 10 milhões de células por planilha, somando todas as abas. Um arquivo com 3 milhões de linhas e 10 colunas já tem 30 milhões de células, então também não vai ser importado.
O risco de verdade: salvar faz perder dados
É fácil fechar o aviso sem pensar, e o que sobra na tela parece uma tabela perfeitamente normal. O perigo vem depois:
- Você salva o arquivo. O Excel grava de volta só o que carregou. Se você clicar em Salvar no
export.csv, os 3 milhões de linhas originais são substituídos por cerca de um milhão, sem nenhum outro aviso. - Você calcula totais. Uma
SOMAou uma tabela dinâmica sobre a planilha cortada dá um resultado que parece plausível e está errado, porque dois terços dos dados nunca chegaram. - Você compartilha. Um colega que recebe a cópia salva não tem como saber que faltam linhas.
Se o Excel já mostrou o aviso, feche o arquivo sem salvar e mantenha a exportação original intacta. Depois verifique o tamanho real antes de decidir o que fazer.
Opção 1: abra o arquivo inteiro no navegador
Se você precisa principalmente olhar os dados — conferir alguns registros, encontrar um cliente, ver o que uma coluna contém —, um visualizador sem limite de grade é o caminho mais rápido.
O Visualizador de CSV do Opener lê o arquivo no seu navegador e nunca o envia, o que faz diferença quando a exportação contém dados de clientes ou financeiros. A leitura roda numa thread em segundo plano e só as linhas na tela são desenhadas, então um arquivo de 200 mil linhas abre em cerca de um segundo, e arquivos com milhões de linhas funcionam num notebook comum. O limite prático é a memória do seu dispositivo, não um número fixo de linhas.
Com o arquivo aberto, você pode:
- pesquisar em todas as colunas enquanto digita;
- ordenar por qualquer coluna;
- exportar a visualização atual — filtrada e ordenada — como CSV UTF-8 limpo ou JSON.
Esse último ponto é um truque útil: filtre 3 milhões de linhas até ficar com as 40 mil que mencionam uma região, exporte, e o arquivo menor abre no Excel sem aviso nenhum. O visualizador não roda fórmulas, tabelas dinâmicas nem gráficos; para isso, continue lendo.
Opção 2: carregue no Modelo de Dados do Excel
As versões recentes do Excel para computador conseguem importar um CSV pelo Power Query (o caminho “Obter Dados” / “De Texto/CSV” na guia Dados) em vez de abri-lo diretamente. A diferença está em onde os dados vão parar.
Em vez de carregar o resultado numa planilha, escolha carregar apenas como conexão e adicioná-lo ao Modelo de Dados. O Modelo de Dados guarda os dados de forma compactada, fora da grade, então não está preso ao limite de 1.048.576 linhas. Depois você pode criar uma tabela dinâmica em cima dele e resumir os 3 milhões de linhas — totais por mês, contagens por categoria e assim por diante.
A contrapartida: não dá para rolar pelas linhas como numa planilha normal, e os nomes exatos dos menus variam entre versões do Excel. É a melhor opção quando você precisa continuar no Excel e o resultado final é um resumo, não uma visão linha por linha.
Opção 3: conte, visualize e divida pela linha de comando
No macOS, no Linux ou no Windows com WSL, alguns comandos padrão respondem “qual o tamanho?” e “o que tem dentro?” em segundos, sem carregar o arquivo em nada:
wc -l export.csv # número de linhas
head -n 20 export.csv # primeiras 20 linhas
head -n 100000 export.csv > sample.csv # uma amostra menor para testar
Observe que o wc -l conta linhas de texto, não registros. Se alguns valores tiverem quebras de linha dentro de aspas (endereços e comentários costumam ter), a contagem de linhas vai ser maior que a de registros.
Para dividir o arquivo em partes que o Excel consegue abrir, cada uma com sua própria linha de cabeçalho:
tail -n +2 export.csv | split -l 1000000 - part_
for f in part_*; do
{ head -n 1 export.csv; cat "$f"; } > "$f.csv" && rm "$f"
done
Dividir serve para verificações rápidas, mas cuidado com o mesmo problema das quebras de linha entre aspas: o split corta por linhas e pode partir ao meio um valor de várias linhas. E trabalhar com quatro pastas de trabalho separadas é desajeitado se você precisa de totais sobre todas elas.
Opção 4: analise com pandas, SQLite ou DuckDB
Se você vai calcular, cruzar ou agregar, a resposta honesta é uma ferramenta de dados de verdade. Todas estas lidam com dezenas de milhões de linhas num notebook comum.
Python com pandas lê o arquivo inteiro na memória:
import pandas as pd
df = pd.read_csv("export.csv")
print(len(df))
print(df.groupby("regiao")["valor"].sum())
Se o arquivo for maior que a sua memória RAM, leia em partes:
total = 0
for chunk in pd.read_csv("export.csv", chunksize=500_000):
total += chunk["valor"].sum()
DuckDB consegue consultar um arquivo CSV diretamente com SQL, sem importar antes:
SELECT regiao, COUNT(*) AS pedidos, SUM(valor) AS receita
FROM 'export.csv'
GROUP BY regiao
ORDER BY receita DESC;
SQLite vem instalado em muitos sistemas e funciona bem quando você quer manter os dados num único arquivo que dá para consultar:
sqlite3 vendas.db
sqlite> .mode csv
sqlite> .import export.csv vendas
sqlite> SELECT COUNT(*) FROM vendas;
Um bom fluxo de trabalho é fazer o trabalho pesado aqui e depois gravar um resultado pequeno — alguns milhares de linhas de resumo — de volta em CSV para o Excel ou um relatório.
Perguntas frequentes
Dá para aumentar o limite de linhas do Excel?
Não. O limite de 1.048.576 linhas é fixo para toda planilha. Você só pode contorná-lo: carregar os dados no Modelo de Dados, dividir o arquivo ou usar outra ferramenta.
Como sei se meu arquivo foi cortado?
O Excel avisa ao abrir o arquivo, e uma planilha cujos dados terminam exatamente na linha 1.048.576 é um forte sinal. Para ter certeza, verifique o tamanho do arquivo original com wc -l ou abra-o no Visualizador de CSV, que mostra o número total de linhas.
O Planilhas Google ou o LibreOffice abrem o arquivo?
Normalmente não. O Planilhas Google tem um teto de 10 milhões de células por planilha, e o LibreOffice Calc também tem um número máximo fixo de linhas por planilha. Os dois servem para arquivos menores, mas uma exportação com milhões de linhas precisa de um visualizador, um banco de dados ou um script.
É seguro abrir uma exportação grande de clientes numa ferramenta no navegador?
Depende da ferramenta. Muitos conversores online enviam seu arquivo para um servidor. O Opener lê o arquivo localmente no seu navegador e não envia nada para lugar nenhum, então os dados ficam no seu dispositivo.