Ir para a ferramenta
ViewCSV
Sem upload de arquivos

Dividir CSV

orders.csv· DADOS DE EXEMPLO15 linhas · 8 colunas
As partes são cópias byte a byte dos registros originais: aspas, quebras de linha e a marca de ordem de byte continuam iguais, e uma quebra de linha entre aspas nunca divide um registro.
Escolha como dividir e depois liste as partes ou baixe tudo em um ZIP.

Cada parte também pode ser baixada separadamente na lista.

15 linhas

Abra um CSV e escolha como cortá-lo: um número fixo de linhas por arquivo, um tamanho máximo de arquivo, uma quantidade de arquivos ou um arquivo para cada valor de uma coluna. Cada parte é uma cópia byte a byte dos registros originais, com o cabeçalho repetido no topo, então aspas, quebras de linha, codificação e marca de ordem de byte (BOM) continuam como estavam. Veja a lista das partes e baixe uma por uma ou todas juntas em um ZIP. Arquivos maiores que 25 MB também podem ser divididos, e nada é enviado a um servidor.

Como dividir um arquivo CSV

  1. Abra um arquivo .csv, .tsv ou .txt, arraste-o para a ferramenta ou cole as linhas. A primeira linha é tratada como cabeçalho.
  2. Escolha o critério de divisão e informe o número de linhas, o tamanho máximo em bytes, a quantidade de arquivos ou a coluna.
  3. Liste as partes para ver o nome, o número de linhas e o tamanho de cada arquivo; depois baixe uma parte só ou todas em um único ZIP.

As partes recebem o nome do arquivo original: orders.csv vira orders-part-001.csv, orders-part-002.csv… Um arquivo .tsv mantém a extensão .tsv. O ZIP se chama orders-parts.zip.

Formas de dividir

Linhas por arquivoCada parte recebe essa quantidade de linhas de dados; a última fica com o que sobrar. O cabeçalho não entra na contagem.
Tamanho máximo do arquivoCada parte é preenchida com registros inteiros até que o próximo ultrapasse o tamanho, contado em bytes com o cabeçalho e a marca de ordem de byte. Um registro nunca é cortado ao meio, então um único registro maior que o limite interrompe a divisão com um erro que o identifica.
Número de arquivosA ferramenta conta os registros primeiro e depois coloca o mesmo número de linhas em cada parte, arredondado para cima (no máximo 1.000 arquivos). Por causa do arredondamento, você pode receber menos arquivos do que pediu: 5 linhas em 4 arquivos geram partes de 2, 2 e 1.
Valores de uma colunaAs linhas são agrupadas pelo valor exato da coluna escolhida, e cada valor vira orders-West.csv, orders-East.csv…, na ordem em que aparece pela primeira vez. Dentro de cada parte, as linhas mantêm a ordem original. No máximo 1.000 valores distintos.
Repetir o cabeçalho em todos os arquivosVem ativado. Desative para manter o cabeçalho só na primeira parte, por exemplo quando as partes forem concatenadas de novo mais tarde.

Como os dados mais delicados são tratados

  • Valores entre aspas que contêm o delimitador ou quebras de linha continuam dentro do seu registro, lidos conforme a RFC 4180. Um endereço com várias linhas nunca fica dividido entre duas partes.
  • Os registros são copiados como bytes brutos, sem serem interpretados e regravados: aspas, quebras de linha e zeros à esquerda ficam exatamente iguais. Uma marca de ordem de byte UTF-8 no início do arquivo é gravada no início de cada parte, então o Excel continua reconhecendo cada uma como UTF-8.
  • Linhas em branco entre registros são ignoradas. Se o último registro não tem quebra de linha, a parte recebe a quebra de linha usada no próprio arquivo.
  • Os valores da coluna são comparados de forma exata: West e west geram arquivos separados. Como muitos sistemas de arquivos não diferenciam maiúsculas de minúsculas, o segundo se chama orders-west-2.csv em vez de sobrescrever o primeiro.
  • Nos nomes de arquivo, caracteres como / \ : * ? " < > | viram _, os nomes são cortados em 60 caracteres e um valor vazio é gravado como orders-empty.csv. Use a coluna de valores na lista de partes para ver exatamente qual valor cada arquivo contém.

Codificações que podem ser divididas

A divisão trabalha diretamente sobre os bytes, o que é seguro para UTF-8 e para codificações de um byte, como Windows-1252 (comum em CSVs antigos com acentos). Arquivos UTF-16 não podem ser divididos assim; salve-os antes em UTF-8, por exemplo com Formatar CSV. Arquivos Shift_JIS, GB18030, GBK e Big5 podem ser divididos quando o delimitador é vírgula, ponto e vírgula ou tabulação, mas não barra vertical, porque nessas codificações o byte da barra vertical pode aparecer dentro de um caractere. A ferramenta avisa antes de começar quando um arquivo não pode ser dividido.

Solução de problemas

  • Um registro é maior que o tamanho de parte escolhido. Aumente o tamanho máximo; ele precisa comportar o cabeçalho mais o maior registro.
  • Esta divisão criaria mais de 1.000 arquivos. Aumente as linhas por arquivo ou o tamanho, ou escolha menos arquivos.
  • Esta coluna tem mais de 1.000 valores distintos. Divida por uma coluna mais ampla, como região em vez de cliente, ou filtre o arquivo antes.
  • Um valor entre aspas nunca é fechado. Uma aspa aberta em algum ponto do arquivo não foi fechada, e o restante do arquivo viraria um único registro. Encontre o ponto com Validar CSV.

Arquivos grandes e privacidade

A divisão não se limita a 25 MB. Um arquivo maior mostra uma prévia das primeiras 200 linhas, e a divisão lê o arquivo inteiro em blocos de 8 MB, mantendo o uso de memória baixo. As partes ficam guardadas como dados de arquivo do navegador até você baixá-las; o limite prático é o espaço livre que o seu navegador pode usar.

A divisão roda em um worker em segundo plano nesta aba, e Cancelar interrompe o processo. O arquivo nunca é enviado a um servidor. Para juntar as partes de novo, use Juntar arquivos CSV; para diminuir um arquivo sem cortá-lo, use Compactar CSV.

Exemplo

Uma pequena exportação de pedidos com quebras de linha CRLF (mostradas aqui como quebras comuns) e uma observação em duas linhas, dividida em partes de 2 linhas com o cabeçalho repetido. A quebra de linha entre aspas fica dentro do pedido A2, e o último registro, que não tinha quebra de linha na entrada, recebe a terminação CRLF do arquivo.

CSV
order_id,region,note
A1,West,ok
A2,East,"two
lines"
A3,West,"a, b"
A4,,late
A5,east,ok
3 arquivos
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

Perguntas frequentes

Todas as partes vão abrir direito no Excel?

Sim, desde que o original abrisse: cada parte tem o mesmo cabeçalho, delimitador e codificação, e mantém a marca de ordem de byte UTF-8 se o original tinha uma.

Posso dividir por uma coluna sem linha de cabeçalho?

Não. A primeira linha é sempre lida como cabeçalho, e a coluna é escolhida pelo nome do cabeçalho. Acrescente uma linha de cabeçalho antes, por exemplo no editor de CSV.

Por que recebi menos arquivos do que pedi?

Número de arquivos coloca a mesma quantidade de linhas em cada parte, arredondada para cima, então as linhas podem acabar antes do último arquivo. 10 linhas em 4 arquivos geram 3, 3, 3 e 1; 10 linhas em 6 arquivos geram cinco arquivos de 2.

Padrões e referências