Ao importar o script direto pelo o Power BI, ele me retorna o seguinte erro:
não é possivel estabelecer conexão
Detalhes: "ADO.NET: ΡУţнǿń śçгĭφţ ēґѓог.
<pi>2023-12-23 20:59:56,641 [logging.log_init] INFO: LOGLEVEL=INFO
2023-12-23 20:59:56,641 [detalhes.get_papel] INFO: detalhes: call: get..._list()
2023-12-23 20:59:56,641 [detalhes.get_detalhes_list] INFO: get list: [Papel: VALE3]
C:\Users\joaop\bulltrend\bt_dash\Lib\site-packages\fundamentus\detalhes.py:232: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.
tables_html = pd.read_html(content.text, decimal=",", thousands='.')
AttributeError: 'DataFrame' object has no attribute 'append'. Did you mean: '_append'?
</pi>"
o meu código de importação é:
# Importando as bibliotecas
import fundamentus
import pandas as pd
# Definindo a carteira de ações
carteira_fund = ["VALE3", "BBAS3", "KLBN3", "GGBR3", "ITSA3",
"PETR3", "BBSE3", "TAEE3", "CSAN3", "WEGE3", "TASA4", "CXSE3", "PRIO3", "CMIG3"]
# Criando um df com algumas infos da carteira
ind = fundamentus.get_papel(carteira_fund)[['Empresa','Setor', 'Subsetor', 'Cotacao', 'Min_52_sem', 'Max_52_sem', 'Valor_de_mercado',
'Nro_Acoes', 'Patrim_Liq','Receita_Liquida_12m','Receita_Liquida_3m',
'Lucro_Liquido_12m', 'Lucro_Liquido_3m']]
# Passando o ticker para uma coluna
ind = ind.reset_index()
ind.rename(columns = {'index':'Ativo'}, inplace=True)
# Alterando colunas object para numeric
colunas = ['Cotacao', 'Min_52_sem', 'Max_52_sem', 'Valor_de_mercado', 'Nro_Acoes', 'Patrim_Liq',
'Receita_Liquida_12m', 'Receita_Liquida_3m', 'Lucro_Liquido_12m', 'Lucro_Liquido_3m']
ind[colunas] = ind[colunas].apply(pd.to_numeric, errors='coerce', axis=1)
# Criando um novo df com alguns indicadores da carteira
ind_2 = fundamentus.get_resultado_raw().reset_index()
ind_2 = ind_2.query("papel in @carteira_fund")
ind_2 = ind_2[['papel','P/L', 'Div.Yield','P/VP','ROE']].reset_index(drop=True)
ind_2.rename(columns={'papel': 'Ativo','Div.Yield':'DY'}, inplace= True)
# Concatenando os dfs em um só com as infos e indicadores
indicadores = pd.merge(ind, ind_2, on="Ativo")
# Criando uma coluna para LPA (Lucro por Ação) e VPA (Valor Patrimonial por ação)
# para calcular a fórmula de Graham Valor intrínseco de uma ação (VI = √22,5 x LPA x VPA)
indicadores["LPA"] = (indicadores["Lucro_Liquido_12m"] / indicadores ["Nro_Acoes"]).round(2)
indicadores["VPA"] = (indicadores["Patrim_Liq"] / indicadores ["Nro_Acoes"]).round(2)
del ind, ind_2, carteira_fund, colunas