Códigos de exemplo para uso do Portal de Dados Abertos do BNDES.
Atenção: desde fevereiro de 2025 mudamos o encoding padrão de nossos arquivos CSV de UTF-8 para windows-1252. Desta forma os arquivos abrem no Excel sem qualquer modificação. Veja instruções abaixo sobre como baixar no encoding UTF-8.
Os números estão em formato brasileiro, com a vírgula (,) como separador de decimais.
Localize no Portal os recurso que deseja e clique no botão "Baixar" para fazer o download dos dados em formato CSV.
Usando a biblioteca pandas.
df = pd.read_csv(arq_dados, sep=';', decimal=',', encoding='windows-1252') Dica: caso haja colunas de data, inclua o parâmetro: parse_dates=['nome_col'])
dados = read.csv(arq_dados, sep=';', dec = ',', encoding = 'windows-1252')Os arquivos CSV abrirão no Excel versão brasileira sem qualquer modificação.
O botão "Baixar" traz o arquivo CSV no encoding windows-1252 e separado por ponto e vírgula. Este encoding é praticamente idêntico ao iso-8859-1, também conhecido como latin-1. São praticamente intercambiáveis. O windows-1252 apenas possui alguns caracteres adicionais de moedas ou pontuação que não estão presentes no latin-1.
Clicando na seta ao lado do botão "Baixar" aparecem outras opções de formatos, entre eles, CSV e JSON. Este CSV vem separado por vírgulas e UTF-8 com BOM (encoding utf-8-sig). JSON por padrão o encoding é UTF-8. Nestes ormatos os números estão em formato americano, então separador decimal é o ponto (.).
- python-exemplo.ipynb - carrega dados em um Dataframe e exibe um gráfico
- python-api.ipynb - usa a api para busca de dados e download
- python-api-filtros.ipynb - usa a API para filtrar dados. Use para baixar só os dados que precisa e trabalhar com arquivos menores.
Todas as bibliotecas utilizadas nos exemplos estão no arquivo requirements.txt. Recomenda-se o uso de um ambiente virtual:
python -m venv .venv
# ative com o ambiente virtual para sua plataforma.
# Eg.: No Windows execute ".\.venv\Scripts\activate"
# no Unix execute "source ./venv/bin/activate"
pip install -r requirements.txtEntão execute o comando jupyter-lab para executar os notebooks.

