-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Erro ao baixar dados mais recentes #1
Comments
Obrigado por avisar. Vou verificar! Enviado do meu iPhoneEm 2 de nov. de 2024, à(s) 19:49, bmazetto ***@***.***> escreveu:
Olá, estou usando as biblioteca para fazer minhas próprias análises de fundos. Ela ajuda bastante para consolidar os dados das cotas diárias. No entanto, estou me deparando com o seguinte erro ao tentam baixar dados mais recentes:
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
[<ipython-input-38-a3d8068c0cac>](https://localhost:8080/#) in <cell line: 4>()
2
3 # Criar um novo DataFrame temporário com os novos dados
----> 4 novo_dado = comp.get_brfunds(anos=range(2024, 2025), # ANO DE INTERESSE
5 meses=range(9,10), # MESES DO ANO DE INTERESSE
6 patriminio_liquido_minimo=1e6)
7 frames
[/usr/local/lib/python3.10/dist-packages/comparar_fundos_br/get_brfunds.py](https://localhost:8080/#) in get_brfunds(anos, meses, classe, num_minimo_cotistas, patriminio_liquido_minimo, proxy)
137 for mes in meses:
138 if ano == datetime.now().year and mes <= datetime.now().month:
--> 139 informe_diario_fundos_filtrado = _ler_dados_diarios(ano, mes, cadastro_fundos, proxy, num_minimo_cotistas, patriminio_liquido_minimo)
140 informe_diario_fundos_historico = pd.concat([informe_diario_fundos_historico, informe_diario_fundos_filtrado])
141 elif ano < datetime.now().year:
[/usr/local/lib/python3.10/dist-packages/comparar_fundos_br/get_brfunds.py](https://localhost:8080/#) in _ler_dados_diarios(ano, mes, cadastro_fundos, proxy, num_minimo_cotistas, patriminio_liquido_minimo)
112 fundos = fundos[fundos["VL_PATRIM_LIQ"] >= patriminio_liquido_minimo]
113
--> 114 informe_diario_fundos_filtrado = _mesclar_bases(cadastro_fundos, fundos)
115 informe_diario_fundos_filtrado = informe_diario_fundos_filtrado.set_index(["DT_COMPTC"])
116 informe_diario_fundos_filtrado.index = pd.to_datetime(informe_diario_fundos_filtrado.index)
[/usr/local/lib/python3.10/dist-packages/comparar_fundos_br/get_brfunds.py](https://localhost:8080/#) in _mesclar_bases(cadastro_fundos, informe_diario_fundos)
77 def _mesclar_bases(cadastro_fundos: pd.DataFrame, informe_diario_fundos: pd.DataFrame) -> pd.DataFrame:
78 cadastro_fundos_filtrado = cadastro_fundos[['CNPJ_FUNDO', 'CLASSE', 'DENOM_SOCIAL']]
---> 79 dados_completos_filtrados = informe_diario_fundos.merge(cadastro_fundos_filtrado, on=['CNPJ_FUNDO'], how="inner")
80 dados_completos_filtrados["CNPJ - Nome"] = dados_completos_filtrados["CNPJ_FUNDO"] + " // " + dados_completos_filtrados["DENOM_SOCIAL"]
81 dados_completos_filtrados = dados_completos_filtrados[["CNPJ - Nome", 'DT_COMPTC', 'CLASSE', 'VL_QUOTA', "NR_COTST", "VL_PATRIM_LIQ"]]
/usr/local/lib/python3.10/dist-packages/pandas/core/frame.py in merge(self, right, how, on, left_on, right_on, left_index, right_index, sort, suffixes, copy, indicator, validate)
10091 from pandas.core.reshape.merge import merge
10092
10093 return merge(
10094 self,
10095 right,
[/usr/local/lib/python3.10/dist-packages/pandas/core/reshape/merge.py](https://localhost:8080/#) in merge(left, right, how, on, left_on, right_on, left_index, right_index, sort, suffixes, copy, indicator, validate)
108 validate: str | None = None,
109 ) -> DataFrame:
--> 110 op = _MergeOperation(
111 left,
112 right,
[/usr/local/lib/python3.10/dist-packages/pandas/core/reshape/merge.py](https://localhost:8080/#) in __init__(self, left, right, how, on, left_on, right_on, axis, left_index, right_index, sort, suffixes, indicator, validate)
701 self.right_join_keys,
702 self.join_names,
--> 703 ) = self._get_merge_keys()
704
705 # validate the merge keys dtypes. We may need to coerce
[/usr/local/lib/python3.10/dist-packages/pandas/core/reshape/merge.py](https://localhost:8080/#) in _get_merge_keys(self)
1177 # the latter of which will raise
1178 lk = cast(Hashable, lk)
-> 1179 left_keys.append(left._get_label_or_level_values(lk))
1180 join_names.append(lk)
1181 else:
[/usr/local/lib/python3.10/dist-packages/pandas/core/generic.py](https://localhost:8080/#) in _get_label_or_level_values(self, key, axis)
1848 )
1849 else:
-> 1850 raise KeyError(key)
1851
1852 # Check for duplicates
KeyError: 'CNPJ_FUNDO'
Eu verifiquei que o layout dos dados disponibilizados no site da CVM mudou recentemente e que a coluna "CNPJ_FUNDO" passou a se chamar "CNPJ_FUNDO_CLASSE". Acredito que esse seja o motivo para retornar esse erro.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: ***@***.***>
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Olá, estou usando a biblioteca para fazer minhas próprias análises de fundos. Ela ajuda bastante para consolidar os dados das cotas diárias (obrigado por disponibilizá-la!). No entanto, estou me deparando com o seguinte erro ao tentam baixar dados mais recentes:
Eu verifiquei que o layout dos dados disponibilizados no site da CVM mudou recentemente e que a coluna "CNPJ_FUNDO" passou a se chamar "CNPJ_FUNDO_CLASSE". Acredito que esse seja o motivo para retornar esse erro.
The text was updated successfully, but these errors were encountered: