Como contar números em dados, planilhas e scripts
Muita gente pergunta quantos número tem num conjunto de dados, num texto, numa planilha ou num arquivo CSV. A pergunta parece simples, mas a resposta varia dependendo do que você considera "número" e de onde estão esses dados. Vou mostrar os caminhos práticos.
quantos número tem no seu conjunto de dados
O primeiro passo é definir o escopo. Quantos número tem se você está olhando para uma coluna no Excel com 50.000 linhas? Quantos número tem se os dados estão espalhados em um texto bruto com formatação bagunçada? A ambiguidade é o que causa erro na maioria das vezes. No Excel ou Google Sheets, a função MAIS.SE (ou COUNTIF em inglês) resolve rápido. Suponha que sua coluna A tenha valores misturados — texto, datas, vazios e números. Para saber quantos número tem só na coluna A, você usa:
=CONT.NÚM(A:A) Isso conta apenas células que contêm números de verdade, ignorando texto e células vazias. Se quiser filtrar por um critério, como quantos número tem acima de 100, usa CONT.NÚM.SE(A:A;">100").
Eu já perdi duas horas num projeto porque o cliente enviou valores monetários formatados como texto com vírgula como separador decimal. O CONT.NÚM simplesmente não via aqueles números. A solução foi aplicar VALOR() em cada célula antes de contar, ou importar o arquivo com o separador decimal correto definido no painel regional do Windows. Sem isso, a contagem vinha zerada e ninguém percebia.
Método em Python para contagem precisa
Quando os dados estão num arquivo CSV ou num banco, planilhas não ajudam muito. Um script Python resolve em segundos. O fluxo básico é:
- Ler o arquivo - Identificar colunas numéricas
- Contar valores non-null - Reportar o total
Um exemplo mínimo com pandas: import pandas as pd
df = pd.read_csv('dados.csv') print(df.count())
O método count() do pandas retorna quantos número tem por coluna, considerando apenas valores não nulos. Se quiser o total geral, soma-se os resultados. Para contagem condicional, filtra-se antes: print((df['valor'] > 50).sum())
👉 Clique no botão abaixo para saber mais sobre o assunto!
Aqui está uma pegadinha que ninguém avisa: o pandas lê tipos automaticamente. Colunas com muitos vazios ou misturas de texto e número podem ser inferidas como objeto (string) em vez de float. Nesse caso, o count() vai contar tudo como não-nulo, o que infla o resultado. A correção é forçar o tipo com pd.to_numeric(..., errors='coerce'), que converte valores não numéricos para NaN e depois o count() volta a funcionar corretamente.
Contagem em texto puro com regex
Às vezes os números não estão em planilhas. Estão num documento, num log de servidor, numa transcrição. Aí o caminho é expressão regular. Uma regex simples como \d+ captura sequências de dígitos. Mas cuidado com o que você considera número. CPF, CNPJ, telefone, CEP — tudo isso são sequências de dígitos, mas talvez não sejam "números" no sentido que você precisa. Se o objetivo é contar quantos número tem valores numéricos reais (positivos, negativos, decimais), a regex precisa ser mais específica:
[+-]?\d+\.?\d* Isso pega inteiros e decimais, com ou sem sinal. Para contar as ocorrências em um texto:
import re texto = open('arquivo.txt').read()
numeros = re.findall(r'[+-]?\d+\.?\d*', texto) print(len(numeros))
Em arquivos grandes, ler tudo de uma vez na memória pode travar. Nesse caso, leia em chunks e vá acumulando a contagem. O tempo de processamento cai de minutos para segundos em arquivos de média porte com essa abordagem.
Erros comuns que todo mundo comete
Confundir quantidade de dígitos com quantidade de números. "1.234,56" tem sete dígitos, mas é um único número. Contar dígitos com regex sem agrupar dá resultado absurdo. Ignorar números negativos. Uma regex que só procura \d+ ignora sinais de menos e subtrai implicitamente valores que existem nos dados.
Não tratar localizações. No Brasil usamos vírgula como separador decimal e ponto como separador de milhar. Em arquivos exportados de sistemas europeus ou americanos, a lógica se inverte. Se você não padronizar antes de contar, os números serão fragmentados ou perdidos.
Quando a contagem simples não funciona
Existem cenários em que quantos número tem a pergunta já vem truncada. Conjuntos de dados com hash, tokens criptografados, IDs gerados aleatoriamente — tudo isso parece número mas não tem utilidade analítica. Contar esses itens é tecnicamente possível, mas o resultado não agrega valor. Nesse caso, o workaround é definir um pré-filtro baseado no domínio do problema antes de qualquer contagem. Se você precisa de precisão extrema — como auditoria financeira ou conformidade regulatória — ferramentas visuais como o Power BI ou até mesmo a função DESTAQUE_ARMAZENAMENTO do Excel ajudam a validar visualmente se a contagem batem com a realidade. Nada substitui uma conferência amostral dos primeiros 50 registros para calibrar o método antes de rodar no dataset inteiro.
O ponto principal é: quantos número tem depende inteiramente de como você define número e de qual camada dos dados você está olhando. Definir o escopo antes de executar a contição elimina 90% dos erros que vejo no dia a dia.