Como dividir um arquivo CSV grande em vários arquivos

Para dividir um arquivo CSV grande, defina o tamanho máximo de cada parte, corte o arquivo em pedaços com esse número de linhas e repita a linha de cabeçalho no topo de cada pedaço. A ferramenta desta página faz exatamente isso no seu navegador: escolha linhas por arquivo, um número de arquivos iguais ou um arquivo para cada valor de uma coluna, e baixe todas as partes em um ZIP.

7 min de leitura

A resposta curta

Um arquivo CSV é texto simples com um registro por linha, então dividir parece tão fácil quanto cortar o texto a cada poucos milhares de linhas. Dois detalhes tornam isso arriscado: a linha de cabeçalho existe só uma vez, no topo, então todas as partes depois da primeira ficariam sem nomes de coluna, e um valor entre aspas pode conter quebras de linha, o que faz um corte às cegas partir um registro ao meio. Um bom divisor de CSV lê o arquivo registro por registro, copia o cabeçalho em cada parte e só corta entre registros completos.

Com a ferramenta abaixo, solte o CSV na página, deixe Dividir por em Quantidade de linhas, informe quantas linhas quer por arquivo e aguarde um instante. Cada parte aparece na lista com o próprio botão de download, e Baixar tudo em ZIP salva todas juntas. Nada é enviado: o arquivo é lido no seu navegador, o que também mantém os dados de clientes e pedidos em sigilo.

Experimente aqui: Dividir CSV

Abrir a página completa da ferramenta

Por que dividir um CSV

A maioria das divisões é imposta por um limite em outro lugar. Telas de importação de lojas virtuais, marketplaces, ferramentas de e-mail marketing e CRMs costumam aceitar só uma certa quantidade de linhas ou de megabytes por envio. O Excel mostra no máximo 1.048.576 linhas por planilha e fica lento muito antes disso, e o Google Planilhas tem um limite de células para a planilha inteira. Anexos de e-mail costumam ficar limitados a 20 ou 25 MB.

Outras divisões têm a ver com pessoas, não com programas: um arquivo por região para cada gerente regional, um por fornecedor só com os produtos dele, ou partes iguais de uma lista de ligações para cada pessoa da equipe. Nesses casos, faz mais sentido dividir pelo valor de uma coluna ou em um número fixo de arquivos, em vez de uma quantidade fixa de linhas.

SituaçãoDividir porConfiguração típica
Limite de importação de 10.000 linhas por arquivoQuantidade de linhasLinhas por arquivo: 10000
Arquivo grande demais para o ExcelQuantidade de linhasLinhas por arquivo: 1000000
A mesma parte para quatro colegasNúmero de arquivosNúmero de arquivos: 4
Um arquivo por filial, cidade ou fornecedorValor da colunaColuna: Filial
Anexo acima do limite do e-mailNúmero de arquivosArquivos suficientes para ficar abaixo do limite

Como escolher o tamanho de cada parte

Se a plataforma informa um limite de linhas, use esse número diretamente, mas deixe uma pequena folga, porque alguns importadores contam o cabeçalho como uma linha. Se o limite é em megabytes, divida o tamanho do arquivo pelo limite e arredonde para cima para saber quantos arquivos são necessários, depois escolha Número de arquivos para que cada parte tenha mais ou menos o mesmo tamanho. Uma exportação de 180 MB com limite de 50 MB precisa de quatro arquivos.

Linhas por arquivo e Número de arquivos se comportam de forma diferente na última parte. Linhas por arquivo preenche cada parte por completo e deixa o restante na última, então 25.500 linhas com 10.000 por arquivo geram dois arquivos cheios e um com 5.500 linhas. Número de arquivos distribui as linhas da forma mais igual possível, então a mesma tabela em três arquivos fica com 8.500 linhas em cada.

As partes recebem o nome do arquivo original com um número da mesma largura em todas, como pedidos_01.csv até pedidos_12.csv, para continuarem na ordem certa quando ordenadas por nome.

Dividir pelo valor de uma coluna

Escolha Valor da coluna em Dividir por e selecione a coluna na lista, que é preenchida com o cabeçalho do seu arquivo. A ferramenta cria um arquivo para cada valor diferente e dá a ele o nome desse valor, por exemplo pedidos_Campinas.csv e pedidos_Salvador.csv. As linhas em que a coluna está vazia são reunidas em um arquivo com vazio no nome, então nenhuma linha se perde.

Os valores são comparados depois de remover os espaços do início e do fim, então Salvador e Salvador com um espaço no final vão para o mesmo arquivo. Maiúsculas e minúsculas são mantidas separadas, porque em códigos elas podem significar coisas diferentes. Uma coluna com mais de 1.000 valores diferentes, como um número de pedido, criaria arquivos demais, então a ferramenta para e pede uma coluna com menos valores.

Mantendo os dados intactos

O separador é detectado automaticamente, seja vírgula, ponto e vírgula, tabulação ou barra vertical, e as partes mantêm o mesmo separador, a não ser que você escolha outro em Separador. Valores entre aspas que contêm vírgulas, aspas ou quebras de linha ficam em uma só célula. Os valores são copiados exatamente, então códigos de barras e CEPs com zeros à esquerda, números de identificação longos e datas não mudam.

Cada parte em CSV é salva em UTF-8 com uma marca de ordem de bytes (BOM), que avisa o Excel para mostrar corretamente as letras acentuadas quando o arquivo é aberto com um clique duplo. Se o original foi salvo por um programa antigo com uma codificação regional do Windows, ele é reconhecido e convertido para UTF-8 no caminho. Você também pode colocar Salvar como em Excel para receber pastas de trabalho .xlsx com a linha de cabeçalho em negrito e congelada, em que colunas com zeros à esquerda continuam como texto.

Arquivos muito grandes e outros métodos

A ferramenta lê arquivos CSV em pequenas partes em segundo plano, então um arquivo de 100 MB com várias centenas de milhares de linhas é dividido em segundos em um notebook comum e a página continua respondendo. O limite é a memória do seu dispositivo: as partes ficam na memória até você baixá-las, então para arquivos de vários gigabytes uma ferramenta de linha de comando é a melhor escolha.

No macOS e no Linux, o comando split corta um arquivo por linhas, por exemplo split -l 10000 dados.csv parte_, mas ele não repete o cabeçalho e corta dentro de valores entre aspas que ocupam várias linhas. No Excel dá para copiar blocos de linhas para novas pastas de trabalho à mão, o que funciona para poucas partes, mas é lento e fácil de errar. O Power Query ou um script curto em Python com o módulo csv lidam bem com quebras de linha entre aspas, se você tiver familiaridade com eles.

Problemas comuns e como resolver

  • As partes têm só uma coluna: o arquivo usa um separador que o Excel não espera. Importe com Dados, De Texto/CSV, ou coloque Salvar como em Excel.
  • Aparece um aviso de que um valor entre aspas não foi fechado: falta uma aspa em algum ponto do arquivo, muitas vezes na descrição de um produto. Abra o arquivo em um editor de texto, encontre a linha e corrija a aspa.
  • A lista de colunas está vazia: adicione o arquivo primeiro; a lista é preenchida com a primeira linha dele. Se o arquivo não tem cabeçalho, desative A primeira linha é o cabeçalho e escolha a coluna pelo número.
  • Arquivos demais: com um valor pequeno em Linhas por arquivo, uma tabela grande geraria milhares de arquivos. Escolha um valor maior; a ferramenta permite até 1.000 partes.

Passo a passo

  1. Adicione o CSVSolte o arquivo na ferramenta ou clique em Escolher arquivos. Vários arquivos podem ser divididos de uma vez com as mesmas configurações.
  2. Escolha como dividirEscolha Quantidade de linhas, Número de arquivos ou Valor da coluna em Dividir por e informe o número ou escolha a coluna.
  3. Confira a opção de cabeçalhoDeixe A primeira linha é o cabeçalho ativado para que os nomes das colunas se repitam no topo de cada parte.
  4. Baixe as partesBaixe partes avulsas pela lista ou clique em Baixar tudo em ZIP para salvar todas de uma vez.

Perguntas frequentes

Como dividir um CSV em vários arquivos com cabeçalho?

Use um divisor que copie a linha de cabeçalho em cada parte, como a ferramenta desta página com A primeira linha é o cabeçalho ativado. Ferramentas que só cortam por linhas mantêm o cabeçalho apenas no primeiro arquivo.

Quantas linhas um arquivo CSV pode ter?

O formato CSV não tem limite. Os limites vêm dos programas que o abrem, como o Excel com 1.048.576 linhas por planilha ou uma tela de importação com o próprio máximo.

Dá para dividir um CSV sem o Excel?

Sim. O divisor desta página funciona em qualquer navegador atual no Windows, Mac, Linux ou celular, e não precisa do Excel nem de nenhum programa instalado.

Meu CSV é enviado quando divido aqui?

Não. O arquivo é lido e dividido no seu navegador, e as partes são criadas no seu dispositivo. Nada é enviado para um servidor.

A divisão altera meus números ou os zeros à esquerda?

Não. As partes em CSV contêm os valores exatamente como estavam. Só quando você salva em Excel os números são gravados como números, e mesmo assim colunas com zeros à esquerda continuam como texto.

Posso juntar as partes de novo depois?

Sim. Abra a página Juntar arquivos CSV da mesma ferramenta, adicione as partes na ordem e clique em Juntar arquivos. O cabeçalho é escrito uma vez e as linhas seguem a ordem da lista.