3
respostas

[Bug] Data Base não importa para o Power BI

Fiz o código para importar o banco de dados para o Power BI, mas ele vem vazio. Testei o mesmo código no Colab e funcionou. Abri o Visual Studio Code, rodei na venv com os requisitos passados em aula e também funcionou, mas no Power BI não. Notei que isso ocorre quando faço o stack dos dados.

Minhas solução improvisada após horas tentando:

salvar o database em CSV utilizando o pandas e depois importar para o Power BI

Segue o código que foi utilizado:

import yfinance as yf


carteira_yf = ['ABEV3.SA', 'B3SA3.SA', 'ELET3.SA', 'GGBR4.SA', 'ITSA4.SA',
               'PETR4.SA', 'RENT3.SA', 'SUZB3.SA', 'VALE3.SA', 'WEGE3.SA']


df = yf.download(carteira_yf, start="2022-08-01", end="2023-08-01")

cotacoes = df.stack(level=1) # Fiz alguns testes e apartir daqui o código não executa mais

cotacoes = cotacoes.reset_index().rename(columns={'level_1': 'Ativo'})


cotacoes = cotacoes[["Date", "Open", "High", "Low", "Close", "Ativo"]]

del carteira_yf, df

resultado no power bi resultado no power bi

3 respostas

Oi Rafael, tudo bem?

Testei o seu código e também obtive uma tabela vazia. Curiosamente, ao rodar o código da transcrição da aula — que à primeira vista parece idêntico — funcionou normalmente. Então, peço que tente executar o código abaixo:

# Código completo da obtenção dos dados históricos das cotações da carteira de 01/08/2022 à 01/08/2023
# Importando a biblioteca
import yfinance as yf

# Definindo a carteira de ações
carteira_yf = ['ABEV3.SA', 'B3SA3.SA', 'ELET3.SA', 'GGBR4.SA', 'ITSA4.SA',
               'PETR4.SA', 'RENT3.SA', 'SUZB3.SA', 'VALE3.SA', 'WEGE3.SA']

# Carregando os dados da carteira
df = yf.download(carteira_yf, start="2022-08-01", end="2023-08-01")

# Passando os ativos para o multindex do df
cotacoes = df.stack(level=1)

# Resetando os índices e renomenado a coluna dos ativos
cotacoes = cotacoes.reset_index().rename(columns={'level_1': 'Ativo'})

# Organizando o df
cotacoes = cotacoes[["Date", "Open", "High", "Low", "Close", "Ativo"]]

del carteira_yf, df

Ah, e essas foram as versões que utilizei no meu ambiente:

Python 3.10.10

pandas==1.3.5

numpy==1.21.6

matplotlib==3.5.3

seaborn==0.12.0

fundamentus==0.2.0

yfinance==0.1.87

Por favor, peço que teste o código que compartilhei e veja se é retornado a tabela.

Abraços e fico à disposição!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado

Obrigado pelo retorno, Monalisa.

Fiz alguns novos testes após o post que publiquei. No dia seguinte, ao ligar meu computador e abrir o Power BI sem fazer nenhuma alteração no código, o dado foi importado corretamente.

Não sei ao certo o motivo, mas funcionou.

Olá!

Também estou tendo o mesmo problema de obter a tabela cotacoes vazia. Tentei rodar os dois códigos e continuo obtendo o mesmo resultado.

As versões das bibliotecas e do Python estão idênticas a essas: Python 3.10.10

pandas==1.3.5

numpy==1.21.6

matplotlib==3.5.3

seaborn==0.12.0

fundamentus==0.2.0

yfinance==0.1.87

Tentei reiniciar o PC diversas vezes para ver se os dados são carregados corretamente igual do Rafael, porém sem sucesso.