Como lidar com erros de coleta de dados? Exemplo prático com dados do Banco Central

A coleta de dados é uma etapa bastante suscetível a erros, presente em toda análise de dados ou modelo preditivo. Devido a isso e sua importância, muitas pessoas ficam “travadas” quando aparece uma mensagem de erro. Neste exercício mostramos como resolver esse problema usando programação.

Exemplo prático: coleta de dados do Banco Central

Para exemplificar, utilizaremos a API do Banco Central para coletar dados online. O Sistema Gerenciador de Séries Temporais é uma API da instituição que, conhecidamente, apresenta erros rotineiros (infelizmente). Para economistas e analistas que precisam destes dados diariamente, “rezar” para que a coleta de dados funcione de primeira não é uma opção. É necessário uma solução mais robusta.

Uma solução simples e eficiente para erros de coleta de dados online é o uso de estruturas de repetição no Python para que o código “retente” coletar os dados em caso de falha na tentativa anterior. Em termos de código, podemos usar o while em conjunto com o try e except do Python. Ou seja, enquanto um dado número de tentativas de coletar os dados não for atingido, o Python vai tentar rodar um código de coleta e retornar a tabela em caso de sucesso ou ir para a próxima tentativa em caso de falha.

Em termos práticos, primeiro definimos uma função genérica para ler aquivos CSV, pois é este o formato retornado pela API:

Para obter o código e o tutorial deste exercício faça parte do Clube AM e receba toda semana os códigos em R/Python, vídeos, tutoriais e suporte completo para dúvidas.

Em seguida, definimos uma função que estrutura a URL parametrizável da API do Banco Central e usa esta URL na função de leitura de CSV:

Para obter o código e o tutorial deste exercício faça parte do Clube AM e receba toda semana os códigos em R/Python, vídeos, tutoriais e suporte completo para dúvidas.

Com apenas estas duas funções já temos tudo pronto para coletar dados do Banco Central de forma mais robusta, basta testar:

Coletando a série 433
data valor
0 2000-01-01 0.62
1 2000-02-01 0.13
2 2000-03-01 0.22
3 2000-04-01 0.42
4 2000-05-01 0.01
... ... ...
295 2024-08-01 -0.02
296 2024-09-01 0.44
297 2024-10-01 0.56
298 2024-11-01 0.39
299 2024-12-01 0.52

300 rows × 2 columns

Erros ainda podem acontecer, mas sucessivas retentativas serão executadas. Em últimos casos, se a API estiver fora do ar, não há o que fazer a não ser “rezar” mesmo para que volte a funcionar! =D

Conclusão

A coleta de dados é uma etapa bastante suscetível a erros, presente em toda análise de dados ou modelo preditivo. Devido a isso e sua importância, muitas pessoas ficam “travadas” quando aparece uma mensagem de erro. Neste exercício mostramos como resolver esse problema usando programação.

Tenha acesso ao código e suporte desse e de mais 500 exercícios no Clube AM!

Quer o código desse e de mais de 500 exercícios de análise de dados com ideias validadas por nossos especialistas em problemas reais de análise de dados do seu dia a dia? Além de acesso a vídeos, materiais extras e todo o suporte necessário para você reproduzir esses exercícios? Então, fale com a gente no Whatsapp e veja como fazer parte do Clube AM, clicando aqui.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Como sumarizar divulgações trimestrais de empresas usando IA no Python

Neste exercício, iremos utilizar a inteligência artificial no Python para analisar e sumarizar divulgações trimestrais de empresas. Focaremos no uso de ferramentas como Gemini e técnicas de processamento de linguagem natural para extrair informações de documentos PDF relacionados aos relatórios financeiros das empresas.

Como usar IA para sumarizar dados de demonstrações de empresas brasileiras no Python

Neste post, vamos explorar como utilizar o modelo de linguagem Gemini do Google para analisar demonstrações contábeis anuais da Eletrobras e extrair informações relevantes para tomada de decisão. Através de um código Python, vamos importar os dados direto da CVM, conectar com o Gemini e gerar resumos sobre as contas das demonstrações e perspectivas futuras sobre as finanças da empresa.

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.