Script para dividir tabelasDesenvolvimento e personalização

Um script em Python que divide um arquivo Excel ou CSV grande em arquivos menores por número de linhas ou por uma coluna

Normalmente fica pronto em 15 minutosAjustes incluídosControle de qualidade
Pacotes
Pagamento protegidoDetalhes
  • Os ajustes previstos no pacote são gratuitos.
  • Se você não responder em 3 dias após a entrega, o trabalho é aprovado automaticamente.

O dinheiro fica reservado no pagamento e só é liberado quando você aprova o trabalho.

Um script em Python que divide um arquivo Excel ou CSV grande em arquivos menores por número de linhas ou por uma coluna

Exemplo de resultado

Exemplo do pacote Padrão

Juntando os arquivos mensais de vendas de 9 lojas em um só relatório do Excel

Como ele é executado

python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO  Pasta: sales/2026-10, 9 arquivos encontrados
2026-11-02 09:14:03 INFO  shop-01.csv: 1.284 linhas
2026-11-02 09:14:04 INFO  shop-02.xlsx: 967 linhas
2026-11-02 09:14:04 WARN  shop-07.csv: 3 linhas sem preço ignoradas (linhas 88, 412, 913)
2026-11-02 09:14:05 INFO  Pronto: 10.412 linhas -> report-2026-10.xlsx (abas "Vendas" e "Totais")

Configurações, não código

Os nomes das colunas de cada loja ficam no settings.ini, então uma loja nova ou uma coluna renomeada é só uma linha ali:

[columns]
date = Data, Data da venda, Dia
product = Produto, Item, Descrição
quantity = Qtd, Quantidade, Unid
price = Preço, Preço unitário

Um trecho do código

def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
    """Lê o arquivo de uma loja e dá a ele os nomes de colunas do relatório."""
    table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
    renamed = {}
    for name, variants in columns.items():
        found = next((c for c in table.columns if c.strip() in variants), None)
        if found is None:
            raise ReportError(f"{path.name}: nenhuma coluna para '{name}' (procuradas: {', '.join(variants)})")
        renamed[found] = name
    table = table.rename(columns=renamed)[list(columns)]
    table["shop"] = path.stem
    return table

Arquivos: um arquivo ZIP com merge_sales.py (310 linhas), settings.ini, requirements.txt e um README que explica como instalar o Python, como rodar o script e o que significa cada mensagem do registro. O cliente roda o script no próprio computador.

Cliente: uma pequena rede de 9 papelarias; cada loja envia as vendas do mês em um arquivo CSV ou Excel, com nomes de colunas um pouco diferentes. Tarefa: um script que lê todos os arquivos de uma pasta, deixa as colunas em um só formato e grava um único relatório do Excel com todas as vendas e uma aba de totais por loja.

O cliente e todos os dados são fictícios.

Sobre este serviço

Uma tabela com centenas de milhares de linhas é difícil de abrir, grande demais para um formulário de importação que aceita 5.000 linhas por vez, ou precisa ser enviada em partes para pessoas diferentes. Este script em Python faz a divisão por você: em partes com um número definido de linhas, ou pelo valor de uma coluna, para cada região, loja ou vendedor receber o próprio arquivo. Cada parte mantém a linha de cabeçalho e a ordem das colunas, e os arquivos recebem os nomes que você quiser, como pedidos_norte.xlsx. Ele lê CSV e Excel e salva em qualquer um dos dois. Envie algumas linhas da tabela e a regra. Você mesmo roda o script no seu computador, e o arquivo original nunca é alterado. Ele divide os dados; não confere nem corrige os valores.

O que está incluído

  • O que você recebeUm arquivo ZIP com o script em Python, um README com instruções passo a passo e, a partir do Padrão, um arquivo de configurações com a regra de divisão e os nomes dos arquivos; o código também aparece na página do pedido.
  • Por linhas ou por colunaPartes iguais ou um arquivo para cada valor
  • Cabeçalho em cada parteCada arquivo abre e é importado sozinho
  • Seus nomes de arquivoCom um número ou o valor da coluna no nome
  • Original intactoAs partes são salvas em uma pasta separada
  • Código legívelCom comentários, fácil de mudar a regra depois

Como funciona

  1. 1
    TarefaVocê envia algumas linhas e diz como dividir o arquivo
  2. 2
    CódigoEscrevemos o script e o guia para rodá-lo
  3. 3
    TesteVocê roda no seu arquivo e confere as partes
  4. 4
    AjustesVocê pede ajustes dentro do seu pacote e envia qualquer mensagem de erro

O que precisamos de você

As primeiras 10 a 20 linhas da tabela em CSV ou Excel (nomes e números reais podem ser trocados), quantas linhas o arquivo completo tem e o tamanho dele, e a regra: tantas linhas por parte, ou um arquivo por valor de uma coluna (diga qual). Como as partes devem se chamar, CSV ou Excel, e se vão em arquivos separados ou em abas de uma mesma pasta de trabalho. O seu sistema: Windows, macOS ou Linux.

Vamos perguntar:

  • Qual arquivo você precisa dividir?
  • Como ele deve ser dividido?
  • Como devem ser as partes?
  • Onde ele vai rodar?

Compare os pacotes

PacotesBásicoDividir por número de linhasR$ 89PadrãoDividir com configuraçõesR$ 184PremiumFerramenta de divisãoR$ 373
Prazo1 dia2 dias3 dias
Ajustes123
Códigoaté 150 linhasaté 400 linhasaté 1.000 linhas
Arquivos de código1até 3até 8
Arquivo de configuraçõesNãoSimSim
Mensagens de erro claras e um logNãoSimSim
Opções de execução e guia para rodar de forma agendadaNãoNãoSim
Guia de instalação e execução (README)SimSimSim
LinguagemPythonPythonPython
Fazer pedido BásicoFazer pedido PadrãoFazer pedido Premium

Pagamento protegido

Você paga ao fazer o pedido, mas o dinheiro só é liberado pelo trabalho aprovado.

  • Preço fixoO preço do pacote não muda depois que você paga.
  • O dinheiro fica reservadoAo pagar, o valor fica apenas reservado. Ele só é repassado quando você aprova o trabalho.
  • Verificado antes da entregaCada resultado passa por um controle de qualidade antes de chegar até você, e você o vê na página do pedido antes de aprovar.
  • Ajustes gratuitosPeça ajustes dentro do seu briefing quantas vezes o pacote permitir.
  • Aprovação após 3 diasSe em 3 dias após a entrega você não aprovar o trabalho nem pedir ajustes, ele é aprovado automaticamente. Se você escrever no chat do pedido após a entrega, o pedido fica em espera; depois que respondermos, podemos reiniciar a contagem de 3 dias e avisaremos no chat.
  • Refazer ou reembolso totalSe o resultado não corresponder ao seu briefing e os ajustes não resolverem, ou se o trabalho levar mais que o dobro do prazo, escreva no chat do pedido: refazemos o trabalho ou reembolsamos o pagamento integralmente.
Como funciona →

Perguntas e respostas

Ele divide um arquivo que o Excel não consegue abrir?

Sim, se for um CSV: o script o lê linha por linha, então um arquivo com milhões de linhas não é problema. Um arquivo .xlsx precisa caber no próprio limite do Excel, de 1.048.576 linhas por aba.

Ele divide por duas colunas ao mesmo tempo?

Sim, a partir do Padrão: por exemplo, um arquivo para cada região e mês. Diga quais são as colunas e como os nomes dos arquivos devem ficar.

Datas e zeros à esquerda vão se manter?

Sim, os valores são copiados como texto, a menos que você peça outra coisa, então códigos como 00125 mantêm os zeros. Diga quais colunas têm datas ou números.

Vocês vão dividir o arquivo por mim?

Não. Você roda o script no seu computador, então o arquivo completo fica com você. Precisamos só de algumas linhas de exemplo.

Não encontrou a resposta?

Pacotes