Introdução a dados textuais no Python

Manejar dados textuais é diferente de manejar uma tabela com números. Este artigo apresenta as ferramentas do Python que resolvem essa etapa: as operações básicas sobre strings — contar, combinar, recortar e padronizar — e as expressões regulares, que descrevem padrões sem depender da posição exata da informação no documento.


Manejar dados textuais é diferente de manejar uma tabela com números. A preparação desse tipo de dado requer cuidados especiais e o uso de ferramentas específicas. Neste artigo introduzimos as ferramentas da linguagem Python que resolvem esse trabalho: as operações básicas sobre strings e as expressões regulares.

Uma tabela de inflação já vem com data, código e valor em campos separados. Uma ata do Banco Central é um bloco contínuo de parágrafos, e todo número que se queira extrair dela precisa ser localizado dentro do texto antes de virar dado.

O que é uma string

Uma string é a forma como as linguagens de programação representam texto. No Python, qualquer sequência de caracteres entre aspas é uma string, e é sobre esse tipo de objeto que atuam todas as operações deste artigo.

A diferença para um número é que uma string não tem valor, tem posição. O caractere "P" de "Python" ocupa o índice zero, e é por essa posição que o recortamos. Essa é a primeira mudança de raciocínio para quem vem de planilhas.

A armadilha da contrabarra

A contrabarra tem significado especial dentro de uma string: ela informa ao Python que o próximo caractere deve ser interpretado, e não lido ao pé da letra. É assim que se insere uma aspa dentro de um texto já delimitado por aspas.

O efeito colateral aparece em caminhos de arquivo do Windows. Escrever "c:\users\fernando" produz um erro de sintaxe, porque a sequência \u inicia a notação de um caractere Unicode e o Python tenta interpretá-la.

Há duas saídas. A primeira é duplicar cada contrabarra, de forma que a primeira escape a segunda. A segunda, mais prática, é prefixar a string com a letra r, o que desliga a interpretação e trata o texto literalmente. Esse formato, chamado de raw string, é o recomendado tanto para caminhos de arquivo quanto para expressões regulares.

📬 Estatística, econometria e IA aplicada. Todo dia, no seu e-mail.

O Boletim AM traz modelos estatísticos, econometria e LLMs aplicados a Economia, Finanças e análise de dados, com exemplos em R e Python. Todo domingo, às 20h, uma leitura mais longa que reúne as fontes da semana.

Quero receber o Boletim AM →

As quatro operações sobre texto

Antes das expressões regulares, quatro operações resolvem a maior parte do trabalho com strings. Elas têm uma versão que atua sobre um texto isolado e outra que atua sobre uma coluna inteira, no pandas.

🔢

Contar
Quantos caracteres tem o texto. Serve para filtrar documentos vazios ou truncados antes da análise.

🔗

Combinar
Juntar textos, com ou sem separador. É como se monta um rótulo de gráfico ou o endereço de uma consulta.

✂️

Recortar
Extrair um pedaço pela posição dos caracteres. Índices negativos contam a partir do fim.

🔠

Padronizar
Passar tudo para minúsculas ou maiúsculas, para que a mesma palavra não conte como duas.

A padronização de caixa é a que mais afeta o resultado de uma análise. Sem ela, "Inflação" e "inflação" entram como termos distintos em qualquer contagem de frequência, e o mesmo conceito aparece dividido em duas linhas do resultado.

O recorte por posição tem uma convenção que costuma confundir: o índice final não entra no resultado. Pedir do caractere zero ao seis devolve seis caracteres, do primeiro ao sexto. Já os índices negativos contam de trás para frente, o que resolve casos como "os últimos quatro dígitos".

Expressões regulares: descrever um padrão

As operações acima funcionam quando sabemos exatamente onde está a informação. O problema real raramente é assim: queremos todos os valores percentuais de uma ata, ou todas as datas de um relatório, sem saber de antemão em que posição estão.

É para isso que existem as expressões regulares, ou regex. Uma expressão regular é uma linguagem para descrever padrões em texto: em vez de dizer "o caractere na posição 15", dizemos "um dígito seguido de um símbolo de porcentagem", e a busca acontece no documento inteiro.

É difícil e demorada de entender, porque não é uma linguagem humana. Depois de algum treinamento, no entanto, revela-se um recurso extremamente útil, e o vocabulário básico é pequeno.

Símbolo O que descreve Exemplo de uso
. Qualquer caractere Encontrar um "a" com qualquer letra antes e depois
\d Um dígito Localizar os números de um relatório
\w Um caractere alfanumérico Separar palavras de pontuação
\s Um espaço em branco Dividir o texto em palavras
^ Começo da string Documentos que começam por maiúscula
$ Fim da string Linhas terminadas em pontuação
[^ ] Qualquer coisa exceto o que está dentro Toda a pontuação de um texto

Os símbolos ^ e $ são chamados de âncoras, porque prendem o padrão a uma extremidade do texto. Procurar por "a" devolve todas as ocorrências da letra; procurar por "a" ancorado no início devolve apenas as palavras que começam com ela.

Um detalhe que dá dor de cabeça: as contrabarras da regex precisam chegar intactas à biblioteca que fará a busca. Por isso o padrão sempre se escreve como raw string, com o prefixo r. Sem ele, as versões recentes do Python emitem um aviso de sequência inválida, e a tendência é que isso vire erro.

Aplicando em uma coluna inteira

O ganho prático aparece quando o padrão é aplicado a milhares de documentos de uma vez. O pandas oferece três operações que recebem uma expressão regular e atuam sobre a coluna inteira.

  • Verificar. Devolve verdadeiro ou falso para cada documento, conforme o padrão apareça ou não. Serve para filtrar a base antes da análise.
  • Extrair. Devolve o trecho que corresponde ao padrão, transformando uma informação que estava dentro do texto em uma coluna própria.
  • Substituir. Troca o trecho correspondente por outro. É como se remove ruído de formatação antes de processar o documento.

A extração usa o conceito de grupo de captura: os parênteses dentro do padrão marcam qual parte deve ser devolvida. Onde não há correspondência, o resultado é um valor ausente, o que mantém o alinhamento da coluna com as demais.

Onde isso entra em um projeto de dados

Essas ferramentas aparecem em quase toda etapa de preparação de dados, bem além da mineração de textos.

Na coleta, uma expressão regular extrai o número da reunião de dentro do título de um documento, ou separa a data que veio grudada no nome de um arquivo. Na limpeza, ela remove notas de rodapé, cabeçalhos repetidos e marcações que sobraram da conversão de um PDF.

Na análise propriamente dita, é o que permite localizar todos os valores percentuais de uma ata, ou contar quantas vezes um termo aparece com variações de grafia. O passo seguinte é o pré-processamento de dados textuais, que transforma o texto limpo em unidades contáveis.

Vale a comparação com o trabalho manual. Extrair à mão os percentuais de uma ata leva alguns minutos; de duzentas atas, leva dias, e com erros. A expressão regular escrita uma vez atravessa o acervo inteiro.

Considerações finais

Manejar dados textuais é diferente de manejar uma tabela com números, e a preparação desse tipo de dado requer cuidados especiais com o uso de ferramentas específicas. As funções básicas do Python resolvem as operações de contagem, recorte e combinação, enquanto as expressões regulares descrevem padrões que seriam impossíveis de expressar de outra forma.

Esse é o trabalho que antecede qualquer análise de texto, e ele costuma consumir mais tempo do que a modelagem que vem depois. Quem domina essa etapa consegue trabalhar com fontes que a maioria dos analistas descarta por serem "difíceis de tratar".

O percurso muda pouco de uma área para outra, e o que varia é a aplicação:

  • Economista: extrai números e datas de comunicados oficiais para montar séries que ainda não existem em tabela.
  • Analista de investimentos: padroniza nomes de empresas e códigos de ativos que chegam grafados de formas diferentes em cada fonte.
  • Cientista de dados: limpa campos de texto livre antes de alimentar qualquer modelo, do cadastro de clientes ao chamado de suporte.
  • Pesquisador: localiza citações, referências e trechos específicos em acervos grandes demais para a leitura integral.

Aprender a linguagem é o que abre a porta para todas essas frentes.

Linguagem Econômica: mineração de textos de Bancos Centrais

Os dez capítulos do livro digital percorrem o caminho completo: dos primeiros tratamentos de texto ao indicador de sentimentos do COPOM e à classificação do tom da política monetária com IA generativa. Exercícios aplicados, em Python.

Livro digital Linguagem Econômica: mineração de textos de Bancos Centrais, da Análise Macro
Acessar o livro digital →

Leia também:

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print
Análise Macro © 2011 / 2026

comercial@analisemacro.com.br – Rua Visconde de Pirajá, 414, Sala 718
Ipanema, Rio de Janeiro – RJ – CEP: 22410-002

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp